pvAccessCPP  7.1.6
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 Member Functions

 POINTER_DEFINITIONS (ResponseRequest)
 
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< ChannelBaseRequestergetRequester ()=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...
 
 POINTER_DEFINITIONS (TransportSender)
 
 POINTER_DEFINITIONS (Lockable)
 
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

◆ getIOID()

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

Get I/O ID.

Returns
ioid

◆ getRequester()

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

used by MessageHandler and reportChannelStateChange().

May return NULL

◆ reportStatus()

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

Report status to clients (e.g.

disconnected).

Parameters
statusto report.

◆ response()

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

◆ send()

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: