pvAccessCPP 7.1.8
Loading...
Searching...
No Matches
epics::pvAccess::ChannelRPC Class Referenceabstract

Handle for an RPC operation. More...

#include <client/pv/pvAccess.h>

Inheritance diagram for epics::pvAccess::ChannelRPC:
Collaboration diagram for epics::pvAccess::ChannelRPC:

Public Types

typedef std::tr1::shared_ptr< ChannelRPCshared_pointer
 
typedef std::tr1::shared_ptr< const ChannelRPCconst_shared_pointer
 
typedef std::tr1::weak_ptr< ChannelRPCweak_pointer
 
typedef std::tr1::weak_ptr< const ChannelRPCconst_weak_pointer
 
typedef ChannelRPCRequester requester_type
 

Public Member Functions

virtual void request (epics::pvData::PVStructure::shared_pointer const &pvArgument)=0
 Issue an RPC request to the channel.
 
virtual std::tr1::shared_ptr< ChannelgetChannel ()=0
 Get a channel instance this request belongs to.
 
virtual void cancel ()=0
 Cancel any pending request.
 
virtual void lastRequest ()=0
 Announce next request as last request.
 
virtual void lock ()
 
virtual void unlock ()
 
virtual void destroy ()
 Destroy this instance.
 

Static Public Attributes

static size_t num_instances
 

Detailed Description

Handle for an RPC operation.

Definition at line 783 of file pvAccess.h.

Member Typedef Documentation

◆ const_shared_pointer

std::tr1::shared_ptr<const ChannelRPC> epics::pvAccess::ChannelRPC::const_shared_pointer

Definition at line 785 of file pvAccess.h.

◆ const_weak_pointer

std::tr1::weak_ptr<const ChannelRPC> epics::pvAccess::ChannelRPC::const_weak_pointer

Definition at line 785 of file pvAccess.h.

◆ requester_type

◆ shared_pointer

std::tr1::shared_ptr<ChannelRPC> epics::pvAccess::ChannelRPC::shared_pointer

Definition at line 785 of file pvAccess.h.

◆ weak_pointer

std::tr1::weak_ptr<ChannelRPC> epics::pvAccess::ChannelRPC::weak_pointer

Definition at line 785 of file pvAccess.h.

Constructor & Destructor Documentation

◆ ~ChannelRPC()

virtual epics::pvAccess::ChannelRPC::~ChannelRPC ( )
inlinevirtual

Definition at line 788 of file pvAccess.h.

Member Function Documentation

◆ cancel()

virtual void epics::pvAccess::ChannelRequest::cancel ( )
pure virtualinherited

Cancel any pending request.

Completion will be reported via request's response callback:

  • if cancel() request is issued after the request was already complete, request success/failure completion will be reported and cancel() request ignored.
  • if the request was actually canceled, cancellation completion is reported.

◆ destroy()

virtual void epics::pvAccess::Destroyable::destroy ( )
inlinevirtualinherited

Destroy this instance.

Reimplemented in epics::pvAccess::MonitorFIFO.

Definition at line 30 of file destroyable.h.

◆ getChannel()

virtual std::tr1::shared_ptr< Channel > epics::pvAccess::ChannelRequest::getChannel ( )
pure virtualinherited

Get a channel instance this request belongs to.

Returns
the channel instance.

◆ lastRequest()

virtual void epics::pvAccess::ChannelRequest::lastRequest ( )
pure virtualinherited

Announce next request as last request.

When last request will be completed (regardless of completion status) the remote and local instance will be destroyed.

◆ lock()

virtual void epics::pvAccess::Lockable::lock ( )
inlinevirtualinherited

Definition at line 97 of file pvAccess.h.

◆ request()

virtual void epics::pvAccess::ChannelRPC::request ( epics::pvData::PVStructure::shared_pointer const & pvArgument)
pure virtual

Issue an RPC request to the channel.

Completion status is reported by calling ChannelRPCRequester::requestDone() callback, which may be called from this method.

Precondition
The underlying Channel must be connected, and this ChannelRPC valid. Otherwise the ChannelRPCRequester::requestDone() is called with an error.
Postcondition
After calling request(), the requestDone() callback will be called at some later time. May call ChannelRPC::cancel() to request to abort() this operation.
Parameters
pvArgumentThe argument structure for an RPC request.

◆ unlock()

virtual void epics::pvAccess::Lockable::unlock ( )
inlinevirtualinherited

Definition at line 98 of file pvAccess.h.

Member Data Documentation

◆ num_instances

size_t epics::pvAccess::ChannelRequest::num_instances
staticinherited

Definition at line 212 of file pvAccess.h.


The documentation for this class was generated from the following file: