Dripline-Cpp  v2.4.2
Dripline Implementation in C++
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
msg_request Class Reference

Request message class. More...

#include <message.hh>

Inheritance diagram for msg_request:
Inheritance graph

Public Member Functions

 msg_request ()
 
virtual ~msg_request ()
 
bool is_request () const
 
bool is_reply () const
 
bool is_alert () const
 
reply_ptr_t reply (const return_code &a_return_code, const std::string &a_ret_msg, scarab::param_ptr_t a_payload=scarab::param_ptr_t(new scarab::param())) const
 Creates a reply message using the reply-to and correlation ID information in this message. More...
 
reply_ptr_t reply (const unsigned a_return_code, const std::string &a_ret_msg, scarab::param_ptr_t a_payload=scarab::param_ptr_t(new scarab::param())) const
 Creates a reply message using the reply-to and correlation ID information in this message. More...
 
virtual msg_t message_type () const
 
 snake_case_mv_accessible_static_noset (msg_t, message_type)
 
 snake_case_mv_referrable (uuid_t, lockout_key)
 
 snake_case_mv_accessible (bool, lockout_key_valid)
 
 snake_case_mv_accessible (op_t, message_operation)
 
- Public Member Functions inherited from message
 message ()
 
virtual ~message ()
 
amqp_split_message_ptrs create_amqp_messages (unsigned a_max_size=10000)
 Converts a Dripline message object to a set of AMQP messages. More...
 
void encode_message_body (std::vector< std::string > &a_body_vec, unsigned a_max_size, const scarab::param_node &a_options=scarab::param_node()) const
 Converts the message-body to a strings (default encoding is JSON) for creating AMQP messages. More...
 
std::string encode_full_message (unsigned a_max_size, const scarab::param_node &a_options=scarab::param_node()) const
 Converts the entire message into a single string (default encoding is JSON) More...
 
 snake_case_mv_accessible (bool, is_valid)
 Flag indicating whether the message was correctly converted from one or more AMQP messages. More...
 
 snake_case_mv_referrable (std::string, routing_key)
 
 snake_case_mv_referrable (std::string, correlation_id)
 
 snake_case_mv_referrable (std::string, message_id)
 
 snake_case_mv_referrable (std::string, reply_to)
 
 snake_case_mv_accessible (encoding, encoding)
 
 snake_case_mv_referrable (std::string, timestamp)
 
 snake_case_mv_referrable (std::string, sender_exe)
 
 snake_case_mv_referrable (std::string, sender_hostname)
 
 snake_case_mv_referrable (std::string, sender_username)
 
 snake_case_mv_referrable (std::string, sender_service_name)
 
 snake_case_mv_referrable (sender_version_map_t, sender_versions)
 
specifierparsed_specifier ()
 
const specifierparsed_specifier () const
 
scarab::param_node get_sender_info () const
 Creates and returns a new param_node object to contain the sender info. More...
 
void set_sender_info (const scarab::param_node &a_sender_info)
 Copies the sender info out of a param_node. More...
 
scarab::param_node get_message_param (bool a_include_payload=true) const
 Creates and returns a new param_node object to contain the full message. More...
 
scarab::param & payload ()
 
const scarab::param & payload () const
 
void set_payload (scarab::param_ptr_t a_payload)
 
const scarab::param_ptr_t & get_payload_ptr () const
 

Static Public Member Functions

static request_ptr_t create (scarab::param_ptr_t a_payload, op_t a_msg_op, const std::string &a_routing_key, const std::string &a_specifier="", const std::string &a_reply_to="", message::encoding a_encoding=encoding::json)
 Create a request message. More...
 
- Static Public Member Functions inherited from message
static std::tuple< std::string, unsigned, unsigned > parse_message_id (const std::string &a_message_id)
 Parses the message ID, which should be of the form [UUID]/[chunk]/[total chunks]. More...
 
static message_ptr_t process_message (amqp_split_message_ptrs a_message_ptrs, const std::string &a_routing_key)
 Converts a set of AMQP messages to a Dripline message object. More...
 

Private Member Functions

void derived_modify_amqp_message (amqp_message_ptr a_amqp_msg, AmqpClient::Table &a_properties) const
 
virtual void derived_modify_message_param (scarab::param_node &a_message_node) const
 

Additional Inherited Members

- Public Types inherited from message
enum  encoding { json }
 
typedef std::map< std::string, sender_package_versionsender_version_map_t
 
- Static Public Attributes inherited from message
static const char s_message_id_separator = '/'
 
- Protected Member Functions inherited from message
std::string interpret_encoding () const
 
- Protected Attributes inherited from message
specifier f_specifier
 

Detailed Description

Request message class.

Author
N.S. Oblath

Adds the lockout information and the message operation.

Requests can be created using the static function create().

Definition at line 174 of file message.hh.

Constructor & Destructor Documentation

◆ msg_request()

Definition at line 476 of file message.cc.

◆ ~msg_request()

~msg_request ( )
virtual

Definition at line 485 of file message.cc.

Member Function Documentation

◆ create()

request_ptr_t create ( scarab::param_ptr_t  a_payload,
op_t  a_msg_op,
const std::string &  a_routing_key,
const std::string &  a_specifier = "",
const std::string &  a_reply_to = "",
message::encoding  a_encoding = encoding::json 
)
static

Create a request message.

Definition at line 490 of file message.cc.

◆ derived_modify_amqp_message()

void derived_modify_amqp_message ( amqp_message_ptr  a_amqp_msg,
AmqpClient::Table &  a_properties 
) const
inlineprivatevirtual

Implements message.

Definition at line 364 of file message.hh.

◆ derived_modify_message_param()

void derived_modify_message_param ( scarab::param_node &  a_message_node) const
inlineprivatevirtual

Implements message.

Definition at line 371 of file message.hh.

◆ is_alert()

bool is_alert ( ) const
inlinevirtual

Implements message.

Definition at line 359 of file message.hh.

◆ is_reply()

bool is_reply ( ) const
inlinevirtual

Implements message.

Definition at line 355 of file message.hh.

◆ is_request()

bool is_request ( ) const
inlinevirtual

Implements message.

Definition at line 351 of file message.hh.

◆ message_type()

msg_t message_type ( ) const
virtual

Implements message.

Definition at line 504 of file message.cc.

◆ reply() [1/2]

reply_ptr_t reply ( const return_code a_return_code,
const std::string &  a_ret_msg,
scarab::param_ptr_t  a_payload = scarab::param_ptr_t( new scarab::param() ) 
) const
inline

Creates a reply message using the reply-to and correlation ID information in this message.

Definition at line 378 of file message.hh.

◆ reply() [2/2]

reply_ptr_t reply ( const unsigned  a_return_code,
const std::string &  a_ret_msg,
scarab::param_ptr_t  a_payload = scarab::param_ptr_t( new scarab::param() ) 
) const
inline

Creates a reply message using the reply-to and correlation ID information in this message.

Definition at line 383 of file message.hh.

◆ snake_case_mv_accessible() [1/2]

snake_case_mv_accessible ( bool  ,
lockout_key_valid   
)

◆ snake_case_mv_accessible() [2/2]

snake_case_mv_accessible ( op_t  ,
message_operation   
)

◆ snake_case_mv_accessible_static_noset()

snake_case_mv_accessible_static_noset ( msg_t  ,
message_type   
)

◆ snake_case_mv_referrable()

snake_case_mv_referrable ( uuid_t  ,
lockout_key   
)

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