pvAccessCPP  7.1.5
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
epics::pvAccess::Transport Class Referenceabstract

Interface defining transport (connection). More...

#include <remote/pv/remote.h>

Inherits DeserializableControl.

Inherited by epics::pvAccess::BlockingUDPTransport, and epics::pvAccess::detail::AbstractCodec.

Public Member Functions

virtual bool acquire (std::tr1::shared_ptr< ClientChannelImpl > const &client)=0
 Acquires transport. More...
virtual void release (pvAccessID clientId)=0
 Releases transport. More...
virtual std::string getType () const =0
 Get protocol type (tcp, udp, ssl, etc.). More...
virtual const osiSockAddr & getRemoteAddress () const =0
virtual const std::string & getRemoteName () const =0
virtual std::size_t getReceiveBufferSize () const =0
 Get receive buffer size. More...
virtual epics::pvData::int16 getPriority () const =0
 Transport priority. More...
virtual void setRemoteTransportReceiveBufferSize (std::size_t receiveBufferSize)=0
 Set remote transport receive buffer size. More...
virtual void setRemoteTransportSocketReceiveBufferSize (std::size_t socketReceiveBufferSize)=0
 Set remote transport socket receive buffer size. More...
virtual void setByteOrder (int byteOrder)=0
 Set byte order. More...
virtual void enqueueSendRequest (TransportSender::shared_pointer const &sender)=0
 Enqueue send request. More...
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. More...
virtual bool verify (epics::pvData::int32 timeoutMs)=0
 Waits (if needed) until transport is verified, i.e. More...
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. More...
virtual void authNZMessage (epics::pvData::PVStructure::shared_pointer const &data)=0
 Pass data to the active security plug-in session. More...

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 Function Documentation

◆ acquire()

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

Acquires transport.

clientclient (channel) acquiring the transport
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.

datathe data (any data), can be null.

◆ enqueueSendRequest()

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

Enqueue send request.


◆ getPriority()

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

Transport priority.

protocol priority.

◆ getReceiveBufferSize()

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

Get receive buffer size.

receive buffer size.

◆ getType()

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

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

protocol type.

◆ isClosed()

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

Check connection status.

true if connected.

◆ release()

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

Releases transport.

clientclient (channel) releasing the transport

◆ setByteOrder()

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

Set byte order.

byteOrderbyte order to set.

◆ setRemoteTransportReceiveBufferSize()

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

Set remote transport receive buffer size.

receiveBufferSizereceive buffer size.

◆ setRemoteTransportSocketReceiveBufferSize()

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

Set remote transport socket receive buffer size.

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.

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.

timeoutMstimeout to wait for verification, infinite if 0.

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