Conscience Core
Public Member Functions | Static Public Member Functions | List of all members
conscience_core::communication::CscMessageReader Class Reference

#include <CscMessageReader.h>

Public Member Functions

 CscMessageReader (const CscMessageEncryption *encryption, function< void(const string &message, ptr< CscMessagingRequestContext > context)> onMessage)
 
 ~CscMessageReader ()
 
optional< string > pushMessageData (vector< unsigned char > *rawMessageData, ptr< CscMessagingRequestContext > context)
 

Static Public Member Functions

static CscMessageMetaparams extractMetaParams (string &message)
 

Constructor & Destructor Documentation

◆ CscMessageReader()

conscience_core::communication::CscMessageReader::CscMessageReader ( const CscMessageEncryption encryption,
function< void(const string &message, ptr< CscMessagingRequestContext > context)>  onMessage 
)

@notre encryption will NOT be deleted on this reader's destruction

◆ ~CscMessageReader()

conscience_core::communication::CscMessageReader::~CscMessageReader ( )

Member Function Documentation

◆ extractMetaParams()

CscMessageMetaparams conscience_core::communication::CscMessageReader::extractMetaParams ( string &  message)
static

extract and strip metaparams (such as client id) prefix if any, and store it into given context

◆ pushMessageData()

optional< string > conscience_core::communication::CscMessageReader::pushMessageData ( vector< unsigned char > *  rawMessageData,
ptr< CscMessagingRequestContext context 
)

Push a new raw message or chunk to this reader. This is called when the messaging API received data, to be processed by this message reader. It could be a full message or a piece of message (chunk), encrypted or not. Message reader should handle any kind of input.

Returns
if message is full, returns complete message (this message has already been forwarded to message handler, this value is returned only for convenience such as log / history). Empty otherwise

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