pvAccessCPP  7.1.5
Public Types | Public Member Functions | Public Attributes | List of all members
epics::pvAccess::BeaconEmitter Class Reference

BeaconEmitter. More...

#include <server/pv/beaconEmitter.h>

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

Public Types

typedef std::tr1::shared_ptr< BeaconEmittershared_pointer
 
typedef std::tr1::shared_ptr< const BeaconEmitterconst_shared_pointer
 

Public Member Functions

 BeaconEmitter (std::string const &protocol, Transport::shared_pointer const &transport, std::tr1::shared_ptr< ServerContextImpl > &context)
 Constructor. More...
 
void send (epics::pvData::ByteBuffer *buffer, TransportSendControl *control)
 Called by transport. More...
 
void timerStopped ()
 
void start ()
 Start emitting.
 
void reschedule ()
 Reschedule timer.
 
void callback ()
 Timer callback.
 
void destroy ()
 
 POINTER_DEFINITIONS (TransportSender)
 
 POINTER_DEFINITIONS (Lockable)
 
virtual void lock ()
 
virtual void unlock ()
 

Public Attributes

size_t bytesTX
 
size_t bytesRX
 

Detailed Description

BeaconEmitter.

Author
gjansa

Definition at line 40 of file beaconEmitter.h.

Constructor & Destructor Documentation

◆ BeaconEmitter()

epics::pvAccess::BeaconEmitter::BeaconEmitter ( std::string const &  protocol,
Transport::shared_pointer const &  transport,
std::tr1::shared_ptr< ServerContextImpl > &  context 
)

Constructor.

Parameters
protocola protocol (transport) name to report.
transporttransport to be used to send beacons.
contextPVA context.

Member Function Documentation

◆ send()

void epics::pvAccess::BeaconEmitter::send ( epics::pvData::ByteBuffer *  buffer,
TransportSendControl control 
)
virtual

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.


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