Kanzi Connect  3.9.9
Kanzi Connect C++ API
kanzi::connect::MessageTranslator Class Reference

A class that translates raw binary data to network messages and vice versa. More...

#include <message_translator.hpp>

Public Types

typedef function< MessagePackageSharedPtr()> CreationFunction
 Creator function for network message types. More...
 
typedef vector< char > MtDataBuffer
 Container type for raw data. More...
 

Public Member Functions

virtual MessagePackageSharedPtr createMessage (const string &type)
 Creates message of given type. More...
 
virtual void getRaw (MtDataBuffer &data)
 Translates outgoing message queue to raw data that can be serialized across network. More...
 
 MessageTranslator (MessagePackage::SerializationFormat format=MessagePackage::SerializationFormatBinary)
 Constructor. More...
 
virtual void receive (int clientId, MessageArray &messages)
 Translates received data in incoming data pool to messages. More...
 
MessagePackage::SerializationFormatserializationFormat ()
 Returns the serialization type of an attached network adapter. More...
 
virtual void setRaw (const MtDataBuffer &data)
 Copies given data to incoming data pool that can be later on translated to network messages. More...
 
virtual bool transmit (const MessagePackage &message)
 Pushes given message to outgoing message queue that will be processed later on. More...
 
virtual ~MessageTranslator ()
 Destructor. More...
 

Protected Types

typedef map< string, CreationFunctionCreatorContainer
 Container type for message creators. More...
 

Protected Attributes

CreatorContainer m_creators
 Registered message creators. More...
 
MessagePackage::SerializationFormat m_format
 
mutex m_mutex
 Synchronization variable. More...
 
MtDataBuffer m_receiveData
 Incoming data buffers. More...
 
MtDataBuffer m_receiveDataProcessing
 
MtDataBuffer m_reconstructData
 
size_t m_reconstructSize { 0 }
 
unique_ptr< MessageContainerm_sendData
 Outgoing message buffers. More...
 
unique_ptr< MessageContainerm_sendDataProcessing
 

Detailed Description

A class that translates raw binary data to network messages and vice versa.

Member Typedef Documentation

◆ CreationFunction

Creator function for network message types.

◆ CreatorContainer

Container type for message creators.

◆ MtDataBuffer

Container type for raw data.

Constructor & Destructor Documentation

◆ MessageTranslator()

kanzi::connect::MessageTranslator::MessageTranslator ( MessagePackage::SerializationFormat  format = MessagePackage::SerializationFormatBinary)

Constructor.

◆ ~MessageTranslator()

virtual kanzi::connect::MessageTranslator::~MessageTranslator ( )
virtual

Destructor.

Member Function Documentation

◆ createMessage()

virtual MessagePackageSharedPtr kanzi::connect::MessageTranslator::createMessage ( const string &  type)
virtual

Creates message of given type.

Parameters
typeType of the message.
Returns
New message instance of given type.

◆ getRaw()

virtual void kanzi::connect::MessageTranslator::getRaw ( MtDataBuffer data)
virtual

Translates outgoing message queue to raw data that can be serialized across network.

Parameters
dataOutput raw data buffer.

◆ receive()

virtual void kanzi::connect::MessageTranslator::receive ( int  clientId,
MessageArray messages 
)
virtual

Translates received data in incoming data pool to messages.

Parameters
clientIdId of the client that sent the messages.
messagesContainer for incoming messages.

◆ serializationFormat()

MessagePackage::SerializationFormat& kanzi::connect::MessageTranslator::serializationFormat ( )
inline

Returns the serialization type of an attached network adapter.

Returns
Serialization format.

◆ setRaw()

virtual void kanzi::connect::MessageTranslator::setRaw ( const MtDataBuffer data)
virtual

Copies given data to incoming data pool that can be later on translated to network messages.

Parameters
dataIncoming raw data buffer.

◆ transmit()

virtual bool kanzi::connect::MessageTranslator::transmit ( const MessagePackage message)
virtual

Pushes given message to outgoing message queue that will be processed later on.

Member Data Documentation

◆ m_creators

CreatorContainer kanzi::connect::MessageTranslator::m_creators
protected

Registered message creators.

◆ m_format

MessagePackage::SerializationFormat kanzi::connect::MessageTranslator::m_format
protected

◆ m_mutex

mutex kanzi::connect::MessageTranslator::m_mutex
protected

Synchronization variable.

◆ m_receiveData

MtDataBuffer kanzi::connect::MessageTranslator::m_receiveData
protected

Incoming data buffers.

◆ m_receiveDataProcessing

MtDataBuffer kanzi::connect::MessageTranslator::m_receiveDataProcessing
protected

◆ m_reconstructData

MtDataBuffer kanzi::connect::MessageTranslator::m_reconstructData
protected

◆ m_reconstructSize

size_t kanzi::connect::MessageTranslator::m_reconstructSize { 0 }
protected

◆ m_sendData

unique_ptr<MessageContainer> kanzi::connect::MessageTranslator::m_sendData
protected

Outgoing message buffers.

◆ m_sendDataProcessing

unique_ptr<MessageContainer> kanzi::connect::MessageTranslator::m_sendDataProcessing
protected

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