|
| AbstractCodec (bool serverFlag, size_t sendBufferSize, size_t receiveBufferSize, int32_t socketSendBufferSize, bool blockingProcessQueue) |
|
virtual void | processControlMessage ()=0 |
|
virtual void | processApplicationMessage ()=0 |
|
virtual const osiSockAddr * | getLastReadBufferSocketAddress ()=0 |
|
virtual void | invalidDataStreamHandler ()=0 |
|
virtual void | readPollOne ()=0 |
|
virtual void | writePollOne ()=0 |
|
virtual void | scheduleSend ()=0 |
|
virtual void | sendCompleted ()=0 |
|
virtual bool | terminated ()=0 |
|
virtual int | write (epics::pvData::ByteBuffer *src)=0 |
|
virtual int | read (epics::pvData::ByteBuffer *dst)=0 |
|
virtual bool | isOpen ()=0 |
|
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 |
|
| POINTER_DEFINITIONS (TransportSendControl) |
|
virtual | ~TransportSendControl () |
|
virtual | ~SerializableControl () |
|
virtual void | cachedSerialize (std::tr1::shared_ptr< const Field > const &field, ByteBuffer *buffer)=0 |
|
| POINTER_DEFINITIONS (Transport) |
|
| Transport () |
|
virtual | ~Transport () |
|
virtual bool | acquire (std::tr1::shared_ptr< ClientChannelImpl > const &client)=0 |
|
virtual void | release (pvAccessID clientId)=0 |
|
virtual std::string | getType () const =0 |
|
virtual const osiSockAddr & | getRemoteAddress () const =0 |
|
virtual const std::string & | getRemoteName () const =0 |
|
virtual std::size_t | getReceiveBufferSize () const =0 |
|
virtual epics::pvData::int16 | getPriority () const =0 |
|
virtual void | setRemoteTransportReceiveBufferSize (std::size_t receiveBufferSize)=0 |
|
virtual void | setRemoteTransportSocketReceiveBufferSize (std::size_t socketReceiveBufferSize)=0 |
|
virtual void | flushSendQueue ()=0 |
|
virtual void | verified (epics::pvData::Status const &status)=0 |
|
virtual bool | verify (epics::pvData::int32 timeoutMs)=0 |
|
virtual void | close ()=0 |
|
virtual void | waitJoin () |
| Call after close() to wait for any worker threads to exit. More...
|
|
virtual bool | isClosed ()=0 |
|
virtual void | authNZMessage (epics::pvData::PVStructure::shared_pointer const &data)=0 |
|
virtual | ~DeserializableControl () |
|
virtual std::tr1::shared_ptr< const Field > | cachedDeserialize (ByteBuffer *buffer)=0 |
|
Definition at line 127 of file codec.h.
bool epics::pvAccess::detail::AbstractCodec::directDeserialize |
( |
epics::pvData::ByteBuffer * |
existingBuffer, |
|
|
char * |
deserializeTo, |
|
|
std::size_t |
elementCount, |
|
|
std::size_t |
elementSize |
|
) |
| |
|
virtual |
Method for deserializing array data. Hook for supplying custom deserialization implementation. The deserialization implementation need not be provided. Returns true if method performs deserialization, false otherwise. This should only be used for arrays of primitive types. i.e. boolean, byte,..., double. It cannot be called for string, structure, or union arrays.
- Parameters
-
existingBuffer | the existing buffer from the caller. |
deserializeTo | location of data. |
elementCount | number of elements. |
elementSize | element size. |
- Returns
- true if deserialization performed, else false.
Implements epics::pvData::DeserializableControl.
Definition at line 1003 of file codec.cpp.
bool epics::pvAccess::detail::AbstractCodec::directSerialize |
( |
epics::pvData::ByteBuffer * |
existingBuffer, |
|
|
const char * |
toSerialize, |
|
|
std::size_t |
elementCount, |
|
|
std::size_t |
elementSize |
|
) |
| |
|
virtual |
Method for serializing primitive array data. Hook for supplying custom serialization implementation. The serialization implementation need not be provided. Returns true if method performs serialization, false otherwise. This should only be used for arrays of primitive types, i. e. boolean, byte,..., double. It cannot be called for string, structure, or union arrays.
- Parameters
-
existingBuffer | the existing buffer from the caller. |
toSerialize | location of data to be put into buffer. |
elementCount | number of elements. |
elementSize | element size. |
- Returns
- true if serialization performed, else false.
Implements epics::pvData::SerializableControl.
Definition at line 961 of file codec.cpp.
982 startMessage(_lastSegmentedMessageCommand, 0, static_cast<int32>(count));
992 ByteBuffer wrappedBuffer(const_cast<char*>(toSerialize), count);
993 send(&wrappedBuffer);
size_t elementSize(ScalarType id)
gives sizeof(T) where T depends on the scalar type id.
virtual void endMessage() OVERRIDE FINAL
virtual void startMessage(epics::pvData::int8 command, std::size_t ensureCapacity=0, epics::pvData::int32 payloadSize=0) OVERRIDE FINAL
This class implements a Bytebuffer that is like the java.nio.ByteBuffer.
void send(epics::pvData::ByteBuffer *buffer)