This is Unofficial EPICS BASE Doxygen Site
epics::pvAccess::EchoTransportSender Class Reference

#include "responseHandlers.h"

+ Inheritance diagram for epics::pvAccess::EchoTransportSender:
+ Collaboration diagram for epics::pvAccess::EchoTransportSender:

Public Member Functions

 EchoTransportSender (osiSockAddr *echoFrom, size_t payloadSize, epics::pvData::ByteBuffer &payloadBuffer)
 
virtual ~EchoTransportSender ()
 
virtual void send (epics::pvData::ByteBuffer *buffer, TransportSendControl *control) OVERRIDE FINAL
 
- Public Member Functions inherited from epics::pvAccess::TransportSender
 POINTER_DEFINITIONS (TransportSender)
 
 TransportSender ()
 
virtual ~TransportSender ()
 
- Public Member Functions inherited from epics::pvAccess::Lockable
 POINTER_DEFINITIONS (Lockable)
 
virtual ~Lockable ()
 
virtual void lock ()
 
virtual void unlock ()
 
- Public Member Functions inherited from epics::pvAccess::fair_queue< T >::entry
 entry ()
 
 ~entry ()
 

Additional Inherited Members

- Public Attributes inherited from epics::pvAccess::TransportSender
size_t bytesTX
 
size_t bytesRX
 

Detailed Description

Definition at line 94 of file responseHandlers.h.

Constructor & Destructor Documentation

epics::pvAccess::EchoTransportSender::EchoTransportSender ( osiSockAddr echoFrom,
size_t  payloadSize,
epics::pvData::ByteBuffer payloadBuffer 
)
inline

Definition at line 96 of file responseHandlers.h.

96  {
97  memcpy(&_echoFrom, echoFrom, sizeof(osiSockAddr));
98  toEcho.resize(payloadSize);
99  payloadBuffer.getArray(&toEcho[0], payloadSize);
100  }
void getArray(T *values, std::size_t count)
Definition: byteBuffer.h:817
virtual epics::pvAccess::EchoTransportSender::~EchoTransportSender ( )
inlinevirtual

Definition at line 102 of file responseHandlers.h.

102 {}

Member Function Documentation

virtual void epics::pvAccess::EchoTransportSender::send ( epics::pvData::ByteBuffer buffer,
TransportSendControl control 
)
inlinevirtual

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.

Implements epics::pvAccess::TransportSender.

Definition at line 104 of file responseHandlers.h.

104  {
105  control->startMessage(CMD_ECHO, toEcho.size(), toEcho.size());
106  control->setRecipient(_echoFrom);
107  buffer->putArray<char>(&toEcho[0], toEcho.size());
108  }
void putArray(const T *values, std::size_t count)
Definition: byteBuffer.h:801

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