![]() |
Dripline-Cpp
v2.4.2
Dripline Implementation in C++
|
Contains all of the information common to all types of Dripline messages. More...
#include <message.hh>
Classes | |
struct | sender_package_version |
Public Types | |
enum | encoding { json } |
typedef std::map< std::string, sender_package_version > | sender_version_map_t |
Public Member Functions | |
message () | |
virtual | ~message () |
virtual bool | is_request () const =0 |
virtual bool | is_reply () const =0 |
virtual bool | is_alert () const =0 |
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) | |
specifier & | parsed_specifier () |
const specifier & | parsed_specifier () const |
virtual msg_t | message_type () const =0 |
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 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... | |
Static Public Attributes | |
static const char | s_message_id_separator = '/' |
Protected Member Functions | |
virtual void | derived_modify_amqp_message (amqp_message_ptr a_amqp_msg, AmqpClient::Table &a_properties) const =0 |
virtual void | derived_modify_message_param (scarab::param_node &a_message_node) const =0 |
std::string | interpret_encoding () const |
Protected Attributes | |
specifier | f_specifier |
Private Attributes | |
scarab::param_ptr_t | f_payload |
Contains all of the information common to all types of Dripline messages.
This is the base class for messages. It contains all of the data members that are common to the different Dripline message types.
This class also contains the interface for converting between AMQP messages (Dripline message chunks) and Dripline messages.
Definition at line 53 of file message.hh.
typedef std::map< std::string, sender_package_version > sender_version_map_t |
Definition at line 118 of file message.hh.
|
strong |
Enumerator | |
---|---|
json |
Definition at line 56 of file message.hh.
message | ( | ) |
Definition at line 75 of file message.cc.
|
virtual |
Definition at line 104 of file message.cc.
amqp_split_message_ptrs create_amqp_messages | ( | unsigned | a_max_size = 10000 | ) |
Converts a Dripline message object to a set of AMQP messages.
Definition at line 299 of file message.cc.
|
protectedpure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
|
protectedpure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
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)
Definition at line 381 of file message.cc.
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.
Definition at line 352 of file message.cc.
param_node get_message_param | ( | bool | a_include_payload = true | ) | const |
Creates and returns a new param_node object to contain the full message.
Definition at line 454 of file message.cc.
|
inline |
Definition at line 341 of file message.hh.
param_node get_sender_info | ( | ) | const |
Creates and returns a new param_node object to contain the sender info.
Definition at line 416 of file message.cc.
|
protected |
Definition at line 404 of file message.cc.
|
pure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
|
pure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
|
pure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
|
pure virtual |
Implemented in msg_alert, msg_reply, and msg_request.
|
static |
Parses the message ID, which should be of the form [UUID]/[chunk]/[total chunks].
Definition at line 117 of file message.cc.
|
inline |
Definition at line 316 of file message.hh.
|
inline |
Definition at line 321 of file message.hh.
|
inline |
Definition at line 326 of file message.hh.
|
inline |
Definition at line 331 of file message.hh.
|
static |
Converts a set of AMQP messages to a Dripline message object.
Definition at line 131 of file message.cc.
|
inline |
Definition at line 336 of file message.hh.
void set_sender_info | ( | const scarab::param_node & | a_sender_info | ) |
Copies the sender info out of a param_node.
Definition at line 436 of file message.cc.
snake_case_mv_accessible | ( | bool | , |
is_valid | |||
) |
Flag indicating whether the message was correctly converted from one or more AMQP messages.
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_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 | |||
) |
|
private |
Definition at line 146 of file message.hh.
|
mutableprotected |
Definition at line 122 of file message.hh.
|
static |
Definition at line 149 of file message.hh.