ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
rad::SMRequestorRaw Class Reference

#include <SMRequestorRaw.hpp>

Public Member Functions

 SMRequestorRaw (const std::string &endpoint, const std::string &identity, boost::asio::io_service &ios, rad::Dispatcher &dispatcher, UniqueEvent &&okEvent, UniqueEvent &&errEvent, UniqueEvent &&timeoutEvent)
 
virtual ~SMRequestorRaw ()
 
size_t Send (const std::string &payloadType, const std::string &payload, const long timeout=0)
 
void ReplyHandler (const std::error_code &errCode, const std::string &msgTypeId, const void *pData, const size_t dataSize)
 
const std::string & GetReplyPayloadType ()
 
const std::string & GetReplyPayload ()
 
 SMRequestorRaw (const SMRequestorRaw &)=delete
 
SMRequestorRawoperator= (const SMRequestorRaw &)=delete
 
 SMRequestorRaw (const std::string &endpoint, const std::string &identity, boost::asio::io_service &ios, rad::Dispatcher &dispatcher, UniqueEvent &&okEvent, UniqueEvent &&errEvent, UniqueEvent &&timeoutEvent)
 
virtual ~SMRequestorRaw ()
 
size_t Send (const std::string &payloadType, const std::string &payload, const long timeout=0)
 
void ReplyHandler (const std::error_code &errCode, const std::string &msgTypeId, const void *pData, const size_t dataSize)
 
const std::string & GetReplyPayloadType ()
 
const std::string & GetReplyPayload ()
 
 SMRequestorRaw (const SMRequestorRaw &)=delete
 
SMRequestorRawoperator= (const SMRequestorRaw &)=delete
 
 SMRequestorRaw (const std::string &endpoint, const std::string &identity, boost::asio::io_service &ios, rad::Dispatcher &dispatcher, UniqueEvent &&okEvent, UniqueEvent &&errEvent, UniqueEvent &&timeoutEvent)
 
virtual ~SMRequestorRaw ()
 
size_t Send (const std::string &payloadType, const std::string &payload, const long timeout=0)
 
void ReplyHandler (const std::error_code &errCode, const std::string &msgTypeId, const void *pData, const size_t dataSize)
 
const std::string & GetReplyPayloadType ()
 
const std::string & GetReplyPayload ()
 
 SMRequestorRaw (const SMRequestorRaw &)=delete
 
SMRequestorRawoperator= (const SMRequestorRaw &)=delete
 

Detailed Description

This class allows to send a request and receive a reply asynchronously. Upon reception of the reply an event OK or ERR event is injected in the SM engine.

Constructor & Destructor Documentation

rad::SMRequestorRaw::SMRequestorRaw ( const std::string &  endpoint,
const std::string &  identity,
boost::asio::io_service &  ios,
rad::Dispatcher dispatcher,
UniqueEvent &&  okEvent,
UniqueEvent &&  errEvent,
UniqueEvent &&  timeoutEvent 
)
Parameters
[in]iosEvent loop.
[in]dispatcherEvent dispatcher used to dispatch the OK/ERR events.
[in]
rad::SMRequestorRaw::~SMRequestorRaw ( )
virtual
rad::SMRequestorRaw::SMRequestorRaw ( const SMRequestorRaw )
delete
rad::SMRequestorRaw::SMRequestorRaw ( const std::string &  endpoint,
const std::string &  identity,
boost::asio::io_service &  ios,
rad::Dispatcher dispatcher,
UniqueEvent &&  okEvent,
UniqueEvent &&  errEvent,
UniqueEvent &&  timeoutEvent 
)
virtual rad::SMRequestorRaw::~SMRequestorRaw ( )
virtual
rad::SMRequestorRaw::SMRequestorRaw ( const SMRequestorRaw )
delete
rad::SMRequestorRaw::SMRequestorRaw ( const std::string &  endpoint,
const std::string &  identity,
boost::asio::io_service &  ios,
rad::Dispatcher dispatcher,
UniqueEvent &&  okEvent,
UniqueEvent &&  errEvent,
UniqueEvent &&  timeoutEvent 
)
virtual rad::SMRequestorRaw::~SMRequestorRaw ( )
virtual
rad::SMRequestorRaw::SMRequestorRaw ( const SMRequestorRaw )
delete

Member Function Documentation

const std::string & rad::SMRequestorRaw::GetReplyPayload ( )
Returns
The reply payload.
const std::string& rad::SMRequestorRaw::GetReplyPayload ( )
const std::string& rad::SMRequestorRaw::GetReplyPayload ( )
const std::string & rad::SMRequestorRaw::GetReplyPayloadType ( )
Returns
The reply payload type.
const std::string& rad::SMRequestorRaw::GetReplyPayloadType ( )
const std::string& rad::SMRequestorRaw::GetReplyPayloadType ( )
SMRequestorRaw& rad::SMRequestorRaw::operator= ( const SMRequestorRaw )
delete
SMRequestorRaw& rad::SMRequestorRaw::operator= ( const SMRequestorRaw )
delete
SMRequestorRaw& rad::SMRequestorRaw::operator= ( const SMRequestorRaw )
delete
void rad::SMRequestorRaw::ReplyHandler ( const std::error_code errCode,
const std::string &  msgTypeId,
const void *  pData,
const size_t  dataSize 
)
void rad::SMRequestorRaw::ReplyHandler ( const std::error_code errCode,
const std::string &  msgTypeId,
const void *  pData,
const size_t  dataSize 
)
void rad::SMRequestorRaw::ReplyHandler ( const std::error_code errCode,
const std::string &  msgTypeId,
const void *  pData,
const size_t  dataSize 
)

Handle a reply to a raw request.

Parameters
[in]identityIdentity of the replier.
[in]msgTypeIdType of the reply's payload.
[in]pDataPointer to the reply's payload.
[in]dataSizeSize in bytes of the reply's payload.
size_t rad::SMRequestorRaw::Send ( const std::string &  payloadType,
const std::string &  payload,
const long  timeout = 0 
)

Send a raw request to an endpoint.

Parameters
[in]endpointWhere to send the request to.
[in]identityIdentity of the sender.
[in]payloadTypeType of the payload to send.
[in]payloadPayload to send.
Returns
The size in bytes of the request sent, 0 in case of errors.
size_t rad::SMRequestorRaw::Send ( const std::string &  payloadType,
const std::string &  payload,
const long  timeout = 0 
)
size_t rad::SMRequestorRaw::Send ( const std::string &  payloadType,
const std::string &  payload,
const long  timeout = 0 
)

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