pvAccessCPP  7.1.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
epics::pvAccess::ResponseRequest Class Referenceabstract

A request that expects an response. More...

#include <remote/pv/remote.h>

Inheritance diagram for epics::pvAccess::ResponseRequest:
Inheritance graph
[legend]
Collaboration diagram for epics::pvAccess::ResponseRequest:
Collaboration graph
[legend]

Public Types

typedef std::tr1::shared_ptr
< ResponseRequest
shared_pointer
 
typedef std::tr1::shared_ptr
< const ResponseRequest
const_shared_pointer
 
typedef std::tr1::weak_ptr
< ResponseRequest
weak_pointer
 
typedef std::tr1::weak_ptr
< const ResponseRequest
const_weak_pointer
 

Public Member Functions

virtual pvAccessID getIOID () const =0
 Get I/O ID. More...
 
virtual void timeout ()=0
 Timeout notification.
 
virtual void cancel ()=0
 Cancel response request (always to be called to complete/destroy).
 
virtual void reportStatus (Channel::ConnectionState status)=0
 Report status to clients (e.g. More...
 
virtual std::tr1::shared_ptr
< ChannelBaseRequester
getRequester ()=0
 used by MessageHandler and reportChannelStateChange(). More...
 
virtual void response (Transport::shared_pointer const &transport, epics::pvData::int8 version, epics::pvData::ByteBuffer *payloadBuffer)=0
 Notification response. More...
 
virtual void send (epics::pvData::ByteBuffer *buffer, TransportSendControl *control)=0
 Called by transport. More...
 
virtual void lock ()
 
virtual void unlock ()
 

Public Attributes

size_t bytesTX
 
size_t bytesRX
 

Detailed Description

A request that expects an response.

Responses identified by its I/O ID.

Definition at line 353 of file remote.h.

Member Function Documentation

virtual pvAccessID epics::pvAccess::ResponseRequest::getIOID ( ) const
pure virtual

Get I/O ID.

Returns
ioid
virtual std::tr1::shared_ptr<ChannelBaseRequester> epics::pvAccess::ResponseRequest::getRequester ( )
pure virtual

used by MessageHandler and reportChannelStateChange().

May return NULL

virtual void epics::pvAccess::ResponseRequest::reportStatus ( Channel::ConnectionState  status)
pure virtual

Report status to clients (e.g.

disconnected).

Parameters
statusto report.
virtual void epics::pvAccess::ResponseRequest::response ( Transport::shared_pointer const &  transport,
epics::pvData::int8  version,
epics::pvData::ByteBuffer *  payloadBuffer 
)
pure virtual

Notification response.

Parameters
transport
version
payloadBuffer
virtual void epics::pvAccess::TransportSender::send ( epics::pvData::ByteBuffer *  buffer,
TransportSendControl control 
)
pure virtualinherited

Called by transport.

By this call transport gives callee ownership over the buffer. Calls on TransportSendControl instance must be made from calling thread. Moreover, ownership is valid only for the time of call of this method. NOTE: these limitations allow efficient implementation.

Implemented in epics::pvAccess::BeaconEmitter.


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