![]() |
This is Unofficial EPICS BASE Doxygen Site
|
#include "codec.h"
Inheritance diagram for epics::pvAccess::detail::BlockingTCPTransportCodec:
Collaboration diagram for epics::pvAccess::detail::BlockingTCPTransportCodec:Public Member Functions | |
| POINTER_DEFINITIONS (BlockingTCPTransportCodec) | |
| BlockingTCPTransportCodec (bool serverFlag, Context::shared_pointer const &context, SOCKET channel, ResponseHandler::shared_pointer const &responseHandler, size_t sendBufferSize, size_t receiveBufferSize, epics::pvData::int16 priority) | |
| virtual | ~BlockingTCPTransportCodec () |
| virtual void | readPollOne () OVERRIDE FINAL |
| virtual void | writePollOne () OVERRIDE FINAL |
| virtual void | scheduleSend () OVERRIDE FINAL |
| virtual void | sendCompleted () OVERRIDE FINAL |
| virtual void | close () OVERRIDE FINAL |
| virtual void | waitJoin () OVERRIDE FINAL |
| Call after close() to wait for any worker threads to exit. More... | |
| virtual bool | terminated () OVERRIDE FINAL |
| virtual bool | isOpen () OVERRIDE FINAL |
| virtual void | start () |
| virtual int | read (epics::pvData::ByteBuffer *dst) OVERRIDE FINAL |
| virtual int | write (epics::pvData::ByteBuffer *src) OVERRIDE FINAL |
| virtual const osiSockAddr * | getLastReadBufferSocketAddress () OVERRIDE FINAL |
| virtual void | invalidDataStreamHandler () OVERRIDE FINAL |
| virtual std::string | getType () const OVERRIDE FINAL |
| virtual void | processControlMessage () OVERRIDE FINAL |
| virtual void | processApplicationMessage () OVERRIDE FINAL |
| virtual const osiSockAddr & | getRemoteAddress () const OVERRIDE FINAL |
| virtual const std::string & | getRemoteName () const OVERRIDE FINAL |
| virtual std::size_t | getReceiveBufferSize () const OVERRIDE FINAL |
| virtual epics::pvData::int16 | getPriority () const OVERRIDE FINAL |
| virtual void | setRemoteTransportReceiveBufferSize (std::size_t remoteTransportReceiveBufferSize) OVERRIDE FINAL |
| virtual void | setRemoteTransportSocketReceiveBufferSize (std::size_t socketReceiveBufferSize) OVERRIDE FINAL |
| virtual std::tr1::shared_ptr< const epics::pvData::Field > | cachedDeserialize (epics::pvData::ByteBuffer *buffer) OVERRIDE FINAL |
| virtual void | cachedSerialize (const std::tr1::shared_ptr< const epics::pvData::Field > &field, epics::pvData::ByteBuffer *buffer) OVERRIDE FINAL |
| virtual void | flushSendQueue () OVERRIDE FINAL |
| virtual bool | isClosed () OVERRIDE FINAL |
| void | activate () |
| virtual bool | verify (epics::pvData::int32 timeoutMs) OVERRIDE |
| virtual void | verified (epics::pvData::Status const &status) OVERRIDE |
| virtual void | authNZMessage (epics::pvData::PVStructure::shared_pointer const &data) OVERRIDE FINAL |
| virtual void | sendSecurityPluginMessage (epics::pvData::PVStructure::const_shared_pointer const &data) OVERRIDE FINAL |
Public Member Functions inherited from epics::pvAccess::detail::AbstractCodec | |
| AbstractCodec (bool serverFlag, size_t sendBufferSize, size_t receiveBufferSize, int32_t socketSendBufferSize, bool blockingProcessQueue) | |
| virtual | ~AbstractCodec () |
| virtual void | alignBuffer (std::size_t alignment) OVERRIDE FINAL |
| virtual void | ensureData (std::size_t size) OVERRIDE FINAL |
| virtual void | alignData (std::size_t alignment) OVERRIDE FINAL |
| virtual void | startMessage (epics::pvData::int8 command, std::size_t ensureCapacity=0, epics::pvData::int32 payloadSize=0) OVERRIDE FINAL |
| void | putControlMessage (epics::pvData::int8 command, epics::pvData::int32 data) |
| virtual void | endMessage () OVERRIDE FINAL |
| virtual void | ensureBuffer (std::size_t size) OVERRIDE FINAL |
| virtual void | flushSerializeBuffer () OVERRIDE FINAL |
| virtual void | flush (bool lastMessageCompleted) OVERRIDE FINAL |
| void | processWrite () |
| void | processRead () |
| void | processSendQueue () |
| virtual void | enqueueSendRequest (TransportSender::shared_pointer const &sender) OVERRIDE FINAL |
| void | enqueueSendRequest (TransportSender::shared_pointer const &sender, std::size_t requiredBufferSize) |
| void | setSenderThread () |
| virtual void | setRecipient (osiSockAddr const &sendTo) OVERRIDE FINAL |
| virtual void | setByteOrder (int byteOrder) OVERRIDE FINAL |
| virtual bool | directSerialize (epics::pvData::ByteBuffer *, const char *, std::size_t, std::size_t) OVERRIDE |
| virtual bool | directDeserialize (epics::pvData::ByteBuffer *, char *, std::size_t, std::size_t) OVERRIDE |
| bool | sendQueueEmpty () const |
| epics::pvData::int8 | getRevision () const |
Public Member Functions inherited from epics::pvAccess::TransportSendControl | |
| POINTER_DEFINITIONS (TransportSendControl) | |
| virtual | ~TransportSendControl () |
Public Member Functions inherited from epics::pvData::SerializableControl | |
| virtual | ~SerializableControl () |
| virtual void | cachedSerialize (std::tr1::shared_ptr< const Field > const &field, ByteBuffer *buffer)=0 |
Public Member Functions inherited from epics::pvAccess::Transport | |
| POINTER_DEFINITIONS (Transport) | |
| Transport () | |
| virtual | ~Transport () |
| virtual bool | acquire (std::tr1::shared_ptr< ClientChannelImpl > const &client)=0 |
| virtual void | release (pvAccessID clientId)=0 |
Public Member Functions inherited from epics::pvData::DeserializableControl | |
| virtual | ~DeserializableControl () |
Public Member Functions inherited from epics::pvAccess::AuthenticationPluginControl | |
| POINTER_DEFINITIONS (AuthenticationPluginControl) | |
| virtual | ~AuthenticationPluginControl () |
| virtual void | authenticationCompleted (const epics::pvData::Status &status, const std::tr1::shared_ptr< PeerInfo > &peer)=0 |
Public Attributes | |
| PeerInfo::const_shared_pointer | _peerInfo |
Public Attributes inherited from epics::pvAccess::detail::AbstractCodec | |
| epics::pvData::Mutex | _mutex |
Public Attributes inherited from epics::pvAccess::Transport | |
| size_t | _totalBytesSent |
| size_t | _totalBytesRecv |
Static Public Attributes | |
| static size_t | num_instances |
Static Public Attributes inherited from epics::pvAccess::detail::AbstractCodec | |
| static const std::size_t | MAX_MESSAGE_PROCESS = 100 |
| static const std::size_t | MAX_MESSAGE_SEND = 100 |
| static const std::size_t | MAX_ENSURE_SIZE = 1024 |
| static const std::size_t | MAX_ENSURE_DATA_SIZE = MAX_ENSURE_SIZE/2 |
| static const std::size_t | MAX_ENSURE_BUFFER_SIZE = MAX_ENSURE_SIZE |
| static const std::size_t | MAX_ENSURE_DATA_BUFFER_SIZE = 1024 |
Static Public Attributes inherited from epics::pvAccess::Transport | |
| static size_t | num_instances |
Protected Member Functions | |
| virtual void | setRxTimeout (bool ena) OVERRIDE FINAL |
| virtual void | sendBufferFull (int tries) OVERRIDE FINAL |
| virtual void | internalClose () |
Protected Member Functions inherited from epics::pvAccess::detail::AbstractCodec | |
| void | send (epics::pvData::ByteBuffer *buffer) |
| void | flushSendBuffer () |
Protected Attributes | |
| osiSockAddr | _socketAddress |
| std::string | _socketName |
| Context::shared_pointer | _context |
| IntrospectionRegistry | _incomingIR |
| IntrospectionRegistry | _outgoingIR |
| std::string | _authSessionName |
| AuthenticationSession::shared_pointer | _authSession |
| bool | _verified |
| epics::pvData::Event | _verifiedEvent |
Protected Attributes inherited from epics::pvAccess::detail::AbstractCodec | |
| ReadMode | _readMode |
| int8_t | _version |
| int8_t | _flags |
| int8_t | _command |
| int32_t | _payloadSize |
| epics::pvData::int32 | _remoteTransportSocketReceiveBufferSize |
| osiSockAddr | _sendTo |
| epicsThreadId | _senderThread |
| WriteMode | _writeMode |
| bool | _writeOpReady |
| epics::pvData::ByteBuffer | _socketBuffer |
| epics::pvData::ByteBuffer | _sendBuffer |
| fair_queue< TransportSender > | _sendQueue |
| const epics::pvData::int8 | _clientServerFlag |
Additional Inherited Members | |
Static Public Member Functions inherited from epics::pvAccess::detail::AbstractCodec | |
| static std::size_t | alignedValue (std::size_t value, std::size_t alignment) |
| epics::pvAccess::detail::BlockingTCPTransportCodec::BlockingTCPTransportCodec | ( | bool | serverFlag, |
| Context::shared_pointer const & | context, | ||
| SOCKET | channel, | ||
| ResponseHandler::shared_pointer const & | responseHandler, | ||
| size_t | sendBufferSize, | ||
| size_t | receiveBufferSize, | ||
| epics::pvData::int16 | priority | ||
| ) |
Definition at line 1226 of file codec.cpp.
|
virtual |
Definition at line 1016 of file codec.cpp.
|
inline |
Definition at line 380 of file codec.h.
|
virtual |
Pass data to the active security plug-in session.
| data | the data (any data), can be null. |
Implements epics::pvAccess::Transport.
Definition at line 1388 of file codec.cpp.
|
inlinevirtual |
deserialize via cache
| buffer | buffer to be deserialized from |
Implements epics::pvData::DeserializableControl.
Definition at line 358 of file codec.h.
|
inlinevirtual |
Definition at line 364 of file codec.h.
|
virtual |
Close transport.
Implements epics::pvAccess::Transport.
Definition at line 1033 of file codec.cpp.
|
inlinevirtual |
Flush send queue (sent messages).
Implements epics::pvAccess::Transport.
|
inlinevirtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 302 of file codec.h.
|
inlinevirtual |
|
inlinevirtual |
Get receive buffer size.
Implements epics::pvAccess::Transport.
Definition at line 335 of file codec.h.
|
inlinevirtual |
Implements epics::pvAccess::Transport.
Definition at line 326 of file codec.h.
|
inlinevirtual |
Implements epics::pvAccess::Transport.
Definition at line 330 of file codec.h.
|
inlinevirtual |
Get protocol type (tcp, udp, ssl, etc.).
Implements epics::pvAccess::Transport.
|
protectedvirtual |
Called from close(). after start of shutdown (isOpen()==false) but before worker thread shutdown.
Reimplemented in epics::pvAccess::detail::BlockingClientTCPTransportCodec, and epics::pvAccess::detail::BlockingServerTCPTransportCodec.
Definition at line 1056 of file codec.cpp.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 1274 of file codec.cpp.
|
inlinevirtual |
Check connection status.
true if connected. Implements epics::pvAccess::Transport.
Definition at line 375 of file codec.h.
|
virtual |
| epics::pvAccess::detail::BlockingTCPTransportCodec::POINTER_DEFINITIONS | ( | BlockingTCPTransportCodec | ) |
|
inlinevirtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 320 of file codec.h.
|
inlinevirtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 311 of file codec.h.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 1316 of file codec.cpp.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
|
inlinevirtual |
|
protectedvirtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 1211 of file codec.cpp.
|
inlinevirtual |
|
virtual |
Send AUTHZ to peer with payload. caller gives up ownership of data, which must not be modified.
Implements epics::pvAccess::AuthenticationPluginControl.
Definition at line 1425 of file codec.cpp.
|
inlinevirtual |
Set remote transport receive buffer size.
| receiveBufferSize | receive buffer size. |
Implements epics::pvAccess::Transport.
|
inlinevirtual |
Set remote transport socket receive buffer size.
| socketReceiveBufferSize | remote socket receive buffer size. |
Implements epics::pvAccess::Transport.
Definition at line 351 of file codec.h.
|
protectedvirtual |
Reimplemented from epics::pvAccess::detail::AbstractCodec.
Definition at line 1189 of file codec.cpp.
|
virtual |
Reimplemented in epics::pvAccess::detail::BlockingClientTCPTransportCodec.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 1101 of file codec.cpp.
|
virtual |
Notify transport that it is has been verified.
| status | vefification status; |
Implements epics::pvAccess::Transport.
Reimplemented in epics::pvAccess::detail::BlockingClientTCPTransportCodec, and epics::pvAccess::detail::BlockingServerTCPTransportCodec.
Definition at line 1373 of file codec.cpp.
|
virtual |
Waits (if needed) until transport is verified, i.e. verified() method is being called.
| timeoutMs | timeout to wait for verification, infinite if 0. |
Implements epics::pvAccess::Transport.
Reimplemented in epics::pvAccess::detail::BlockingServerTCPTransportCodec.
Definition at line 1369 of file codec.cpp.
|
virtual |
Call after close() to wait for any worker threads to exit.
Reimplemented from epics::pvAccess::Transport.
Definition at line 1049 of file codec.cpp.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
Definition at line 1279 of file codec.cpp.
|
virtual |
Implements epics::pvAccess::detail::AbstractCodec.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| PeerInfo::const_shared_pointer epics::pvAccess::detail::BlockingTCPTransportCodec::_peerInfo |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |