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

Interface defining transport (connection). More...

#include <remote/pv/remote.h>

Inheritance diagram for epics::pvAccess::Transport:
Collaboration diagram for epics::pvAccess::Transport:

Public Types

typedef std::tr1::shared_ptr< Transportshared_pointer
 
typedef std::tr1::shared_ptr< const Transportconst_shared_pointer
 
typedef std::tr1::weak_ptr< Transportweak_pointer
 
typedef std::tr1::weak_ptr< const Transportconst_weak_pointer
 

Public Member Functions

virtual bool acquire (std::tr1::shared_ptr< ClientChannelImpl > const &client)=0
 Acquires transport.
 
virtual void release (pvAccessID clientId)=0
 Releases transport.
 
virtual std::string getType () const =0
 Get protocol type (tcp, udp, ssl, etc.).
 
virtual const osiSockAddr & getRemoteAddress () const =0
 
virtual const std::string & getRemoteName () const =0
 
virtual std::size_t getReceiveBufferSize () const =0
 Get receive buffer size.
 
virtual epics::pvData::int16 getPriority () const =0
 Transport priority.
 
virtual void setRemoteTransportReceiveBufferSize (std::size_t receiveBufferSize)=0
 Set remote transport receive buffer size.
 
virtual void setRemoteTransportSocketReceiveBufferSize (std::size_t socketReceiveBufferSize)=0
 Set remote transport socket receive buffer size.
 
virtual void setByteOrder (int byteOrder)=0
 Set byte order.
 
virtual void enqueueSendRequest (TransportSender::shared_pointer const &sender)=0
 Enqueue send request.
 
virtual void flushSendQueue ()=0
 Flush send queue (sent messages).
 
virtual void verified (epics::pvData::Status const &status)=0
 Notify transport that it is has been verified.
 
virtual bool verify (epics::pvData::int32 timeoutMs)=0
 Waits (if needed) until transport is verified, i.e.
 
virtual void close ()=0
 Close transport.
 
virtual void waitJoin ()
 Call after close() to wait for any worker threads to exit.
 
virtual bool isClosed ()=0
 Check connection status.
 
virtual void authNZMessage (epics::pvData::PVStructure::shared_pointer const &data)=0
 Pass data to the active security plug-in session.
 
virtual void ensureData (std::size_t size)=0
 
virtual bool directDeserialize (ByteBuffer *existingBuffer, char *deserializeTo, std::size_t elementCount, std::size_t elementSize)=0
 
virtual std::tr1::shared_ptr< const Field > cachedDeserialize (ByteBuffer *buffer)=0
 

Public Attributes

size_t _totalBytesSent
 
size_t _totalBytesRecv
 

Static Public Attributes

static size_t num_instances
 

Detailed Description

Interface defining transport (connection).

Definition at line 166 of file remote.h.

Member Typedef Documentation

◆ const_shared_pointer

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

Definition at line 168 of file remote.h.

◆ const_weak_pointer

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

Definition at line 168 of file remote.h.

◆ shared_pointer

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

Definition at line 168 of file remote.h.

◆ weak_pointer

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

Definition at line 168 of file remote.h.

Member Function Documentation

◆ acquire()

virtual bool epics::pvAccess::Transport::acquire ( std::tr1::shared_ptr< ClientChannelImpl > const & client)
pure virtual

Acquires transport.

Parameters
clientclient (channel) acquiring the transport
Returns
true if transport was granted, false otherwise.

◆ authNZMessage()

virtual void epics::pvAccess::Transport::authNZMessage ( epics::pvData::PVStructure::shared_pointer const & data)
pure virtual

Pass data to the active security plug-in session.

Parameters
datathe data (any data), can be null.

◆ enqueueSendRequest()

virtual void epics::pvAccess::Transport::enqueueSendRequest ( TransportSender::shared_pointer const & sender)
pure virtual

Enqueue send request.

Parameters
sender

◆ getPriority()

virtual epics::pvData::int16 epics::pvAccess::Transport::getPriority ( ) const
pure virtual

Transport priority.

Returns
protocol priority.

◆ getReceiveBufferSize()

virtual std::size_t epics::pvAccess::Transport::getReceiveBufferSize ( ) const
pure virtual

Get receive buffer size.

Returns
receive buffer size.

◆ getType()

virtual std::string epics::pvAccess::Transport::getType ( ) const
pure virtual

Get protocol type (tcp, udp, ssl, etc.).

Returns
protocol type.

◆ isClosed()

virtual bool epics::pvAccess::Transport::isClosed ( )
pure virtual

Check connection status.

Returns
true if connected.

◆ release()

virtual void epics::pvAccess::Transport::release ( pvAccessID clientId)
pure virtual

Releases transport.

Parameters
clientclient (channel) releasing the transport

◆ setByteOrder()

virtual void epics::pvAccess::Transport::setByteOrder ( int byteOrder)
pure virtual

Set byte order.

Parameters
byteOrderbyte order to set.

◆ setRemoteTransportReceiveBufferSize()

virtual void epics::pvAccess::Transport::setRemoteTransportReceiveBufferSize ( std::size_t receiveBufferSize)
pure virtual

Set remote transport receive buffer size.

Parameters
receiveBufferSizereceive buffer size.

◆ setRemoteTransportSocketReceiveBufferSize()

virtual void epics::pvAccess::Transport::setRemoteTransportSocketReceiveBufferSize ( std::size_t socketReceiveBufferSize)
pure virtual

Set remote transport socket receive buffer size.

Parameters
socketReceiveBufferSizeremote socket receive buffer size.

◆ verified()

virtual void epics::pvAccess::Transport::verified ( epics::pvData::Status const & status)
pure virtual

Notify transport that it is has been verified.

Parameters
statusvefification status;

◆ verify()

virtual bool epics::pvAccess::Transport::verify ( epics::pvData::int32 timeoutMs)
pure virtual

Waits (if needed) until transport is verified, i.e.

verified() method is being called.

Parameters
timeoutMstimeout to wait for verification, infinite if 0.

◆ waitJoin()

virtual void epics::pvAccess::Transport::waitJoin ( )
inlinevirtual

Call after close() to wait for any worker threads to exit.

Definition at line 260 of file remote.h.

Member Data Documentation

◆ _totalBytesRecv

size_t epics::pvAccess::Transport::_totalBytesRecv

Definition at line 275 of file remote.h.

◆ _totalBytesSent

size_t epics::pvAccess::Transport::_totalBytesSent

Definition at line 274 of file remote.h.

◆ num_instances

size_t epics::pvAccess::Transport::num_instances
static

Definition at line 170 of file remote.h.


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