![]() |
Dripline-Cpp
v2.4.2
Dripline Implementation in C++
|
Classes | |
class | agent |
Takes command-line arguments and sends messages. More... | |
class | agent_config |
Sets the default agent configuration. More... | |
struct | base_executor |
Base class for executors. More... | |
class | concurrent_receiver |
Receives and processes messages concurrently. More... | |
class | connection_error |
Error indicating a problem with the connection to the broker. More... | |
class | copy_code |
Stores a copy of the return-code value, name, and description, either as a custom return-code or copying from any return_code-derived class. More... | |
class | core |
Basic AMQP interactions, including sending messages and interacting with AMQP channels. More... | |
class | custom_return_code_registrar |
struct | dl_amqp_error |
struct | dl_amqp_error_broker_connection |
struct | dl_amqp_error_routingkey_notfound |
struct | dl_client_error |
struct | dl_client_error_handling_reply |
struct | dl_client_error_invalid_request |
struct | dl_client_error_timeout |
struct | dl_client_error_unable_to_send |
struct | dl_resource_error |
struct | dl_resource_error_connection |
struct | dl_resource_error_no_response |
struct | dl_resource_error_sub_service |
struct | dl_service_error |
struct | dl_service_error_access_denied |
struct | dl_service_error_bad_payload |
struct | dl_service_error_decoding_fail |
struct | dl_service_error_invalid_key |
struct | dl_service_error_invalid_method |
struct | dl_service_error_invalid_specifier |
struct | dl_service_error_invalid_value |
struct | dl_service_error_no_encoding |
struct | dl_service_error_timeout |
struct | dl_success |
struct | dl_unhandled_exception |
struct | dl_warning_deprecated_feature |
struct | dl_warning_dry_run |
struct | dl_warning_no_action_taken |
struct | dl_warning_offline |
struct | dl_warning_sub_service |
class | dripline_config |
Sets the default configuration used by core . More... | |
class | dripline_error |
Dripline-specific errors. More... | |
class | endpoint |
Basic Dripline object capable of receiving and acting on messages. More... | |
class | endpoint_listener_receiver |
Decorator class for a plain endpoint: adds listener_receiver capabilities. More... | |
class | heartbeater |
A heartbeater repeatedly sends an alert on a particular time interval. More... | |
class | hub |
Service class aimed at adding a Dripline API to an existing codebase. More... | |
struct | incoming_message_pack |
Stores the basic information about a set of message chunks that will eventually make a Dripline message. More... | |
class | listener |
A listener is a class capable of listening for AMQP messages on an AMQP channel. This class provides the basic framework for doing that. More... | |
class | listener_receiver |
Convenience class to bring together listener and concurrent_receiver. More... | |
class | message |
Contains all of the information common to all types of Dripline messages. More... | |
class | monitor |
Listens for messages sent to a particular set of keys and prints them. More... | |
class | monitor_config |
Sets the default message-monitor configuration. More... | |
class | msg_alert |
Alert message class. More... | |
class | msg_reply |
Reply message class. More... | |
class | msg_request |
Request message class. More... | |
class | oscillator |
class | oscillator_ep |
class | oscillator_ep_amplitude |
class | oscillator_ep_frequency |
class | oscillator_ep_in_phase |
class | oscillator_ep_iq |
class | oscillator_ep_quadrature |
class | oscillator_service_endpoints |
class | oscillator_service_hub |
class | receiver |
A receiver is able to collect Dripline message chunks and reassemble them into a complete Dripline message. More... | |
class | relayer |
Asynchronous message sending. More... | |
class | reply_cache |
A singleton throw_reply object used to transfer throw_reply information to C++ from other implementations (e.g. Python) More... | |
class | return_code |
Base class for return codes. More... | |
class | routing_key |
Parses routing keys and stores the tokenized information. More... | |
class | scheduler |
Executes scheduled events. More... | |
class | sent_msg_pkg |
Contains information about sent messages. More... | |
class | service |
Consumer of Dripline messages on a particular queue. More... | |
struct | simple_executor |
Given an executable function object, uses operator() to execute it. More... | |
class | simple_service |
class | specifier |
Parses specifiers and stores the tokenized information. More... | |
class | throw_reply |
Object that can be thrown while processing a request to send a reply. More... | |
class | version |
Semantic version class to store dripline-cpp version and package information. More... | |
class | version_dripline_protocol |
Semantic version class to store dripline protocol version information. More... | |
class | version_store |
Singleton class to store all version information relevant in any particular application context. More... | |
struct | version_store_adder |
Version adder struct to enable adding version classes at static initialization. See ADD_VERSION. More... | |
Typedefs | |
typedef AmqpClient::Channel::ptr_t | amqp_channel_ptr |
typedef AmqpClient::Envelope::ptr_t | amqp_envelope_ptr |
typedef AmqpClient::BasicMessage::ptr_t | amqp_message_ptr |
typedef AmqpClient::AmqpException | amqp_exception |
typedef AmqpClient::AmqpLibraryException | amqp_lib_exception |
typedef std::vector< amqp_message_ptr > | amqp_split_message_ptrs |
typedef std::shared_ptr< message > | message_ptr_t |
typedef std::shared_ptr< msg_request > | request_ptr_t |
typedef std::shared_ptr< msg_reply > | reply_ptr_t |
typedef std::shared_ptr< msg_alert > | alert_ptr_t |
typedef std::shared_ptr< sent_msg_pkg > | sent_msg_pkg_ptr |
typedef std::shared_ptr< listener > | listener_ptr_t |
typedef std::shared_ptr< listener_receiver > | lr_ptr_t |
typedef std::shared_ptr< endpoint_listener_receiver > | elr_ptr_t |
typedef std::shared_ptr< endpoint > | endpoint_ptr_t |
typedef std::shared_ptr< service > | service_ptr_t |
typedef std::map< std::string, incoming_message_pack > | incoming_message_map |
typedef boost::uuids::uuid | uuid_t |
Universally-unique-identifier type containing 16 hexadecimal characters. More... | |
Enumerations | |
enum | op_t : uint32_t { set = 0, get = 1, cmd = 9, unknown = UINT32_MAX } |
enum | msg_t : uint32_t { reply = 2, request = 3, alert = 4, unknown = UINT32_MAX } |
Functions | |
static scarab::logger | dlog ("agent") |
scarab::param_ptr_t | table_to_param (const AmqpClient::Table &a_table) |
scarab::param_ptr_t | table_to_param (const AmqpClient::Array &a_array) |
scarab::param_ptr_t | table_to_param (const AmqpClient::TableValue &a_value) |
AmqpClient::TableValue | param_to_table (const scarab::param_node &a_node) |
AmqpClient::TableValue | param_to_table (const scarab::param_array &a_array) |
AmqpClient::TableValue | param_to_table (const scarab::param_value &a_value) |
AmqpClient::TableValue | param_to_table (const scarab::param &a_param) |
static scarab::logger | dlog ("amqp") |
void | add_dripline_options (scarab::main_app &an_app) |
Add basic AMQP options to an app object. More... | |
uint32_t | to_uint (op_t an_op) |
Convert a message-operation enum to an integer. More... | |
op_t | to_op_t (uint32_t an_op_uint) |
std::ostream & | operator<< (std::ostream &a_os, op_t an_op) |
Pass the integer-equivalent of a message-operation enum to an ostream. More... | |
std::string | to_string (op_t an_op) |
Gives the human-readable version of a message operation. More... | |
op_t | to_op_t (std::string an_op_str) |
uint32_t | to_uint (msg_t a_msg) |
Convert a message-type enum to an integer. More... | |
msg_t | to_msg_t (uint32_t a_msg_uint) |
std::ostream & | operator<< (std::ostream &a_os, msg_t a_msg) |
Pass the integer-equivalent of a message-type enum to an ostream. More... | |
std::string | to_string (msg_t a_msg) |
Gives the human-readable version of the message type. More... | |
msg_t | to_msg_t (std::string a_msg_str) |
static scarab::logger | dlog ("hub") |
static scarab::logger | dlog ("listener") |
static scarab::logger | dlog ("message") |
bool | operator== (const message &a_lhs, const message &a_rhs) |
bool | operator== (const msg_request &a_lhs, const msg_request &a_rhs) |
bool | operator== (const msg_reply &a_lhs, const msg_reply &a_rhs) |
bool | operator== (const msg_alert &a_lhs, const msg_alert &a_rhs) |
std::ostream & | operator<< (std::ostream &a_os, message::encoding a_enc) |
std::ostream & | operator<< (std::ostream &a_os, const message &a_message) |
std::ostream & | operator<< (std::ostream &a_os, const msg_request &a_message) |
std::ostream & | operator<< (std::ostream &a_os, const msg_reply &a_message) |
std::ostream & | operator<< (std::ostream &a_os, const msg_alert &a_message) |
static scarab::logger | dlog ("relayer") |
void | set_reply_cache (const return_code &a_code, const std::string &a_message, scarab::param_ptr_t a_payload_ptr) |
Set the contents of the reply cache (functional access to the singleton reply_cache) More... | |
bool | operator== (const return_code &a_lhs, const return_code &a_rhs) |
std::ostream & | operator<< (std::ostream &a_os, const return_code &a_rc) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_success > | t_dl_success_rc_reg (0) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_warning_no_action_taken > | t_dl_warning_no_action_taken_rc_reg (1) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_warning_deprecated_feature > | t_dl_warning_deprecated_feature_rc_reg (2) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_warning_dry_run > | t_dl_warning_dry_run_rc_reg (3) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_warning_offline > | t_dl_warning_offline_rc_reg (4) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_warning_sub_service > | t_dl_warning_sub_service_rc_reg (5) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_amqp_error > | t_dl_amqp_error_rc_reg (100) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_amqp_error_broker_connection > | t_dl_amqp_error_broker_connection_rc_reg (101) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_amqp_error_routingkey_notfound > | t_dl_amqp_error_routingkey_notfound_rc_reg (102) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_resource_error > | t_dl_resource_error_rc_reg (200) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_resource_error_connection > | t_dl_resource_error_connection_rc_reg (201) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_resource_error_no_response > | t_dl_resource_error_no_response_rc_reg (202) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_resource_error_sub_service > | t_dl_resource_error_sub_service_rc_reg (203) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error > | t_dl_service_error_rc_reg (300) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_no_encoding > | t_dl_service_error_no_encoding_rc_reg (301) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_decoding_fail > | t_dl_service_error_decoding_fail_rc_reg (302) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_bad_payload > | t_dl_service_error_bad_payload_rc_reg (303) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_invalid_value > | t_dl_service_error_invalid_value_rc_reg (304) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_timeout > | t_dl_service_error_timeout_rc_reg (305) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_invalid_method > | t_dl_service_error_invalid_method_rc_reg (306) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_access_denied > | t_dl_service_error_access_denied_rc_reg (307) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_invalid_key > | t_dl_service_error_invalid_key_rc_reg (308) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_service_error_invalid_specifier > | t_dl_service_error_invalid_specifier_rc_reg (310) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_client_error > | t_dl_client_error_rc_reg (400) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_client_error_invalid_request > | t_dl_client_error_invalid_request_rc_reg (401) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_client_error_handling_reply > | t_dl_client_error_handling_reply_rc_reg (402) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_client_error_unable_to_send > | t_dl_client_error_unable_to_send_rc_reg (403) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_client_error_timeout > | t_dl_client_error_timeout_rc_reg (404) |
static scarab::indexed_registrar< unsigned, ::dripline::return_code, dl_unhandled_exception > | t_dl_unhandled_exception_rc_reg (999) |
void | add_return_code (unsigned a_value, const std::string &a_name, const std::string &a_description) |
Helper function to add a return code (primarily for python binding); scarab::error will be thrown if the value is not unique. More... | |
bool | check_and_add_return_code (unsigned a_value, const std::string &a_name, const std::string &a_description) |
std::vector< unsigned > | get_return_code_values () |
std::map< unsigned, std::unique_ptr< return_code > > | get_return_codes_map () |
static scarab::logger | dlog ("service") |
uuid_t | generate_random_uuid () |
Generates a UUID containing random numbers (RNG is a Mersenne Twister) More... | |
uuid_t | generate_nil_uuid () |
Generates a UUID containing all 0s. More... | |
uuid_t | uuid_from_string (const std::string &a_id_str) |
uuid_t | uuid_from_string (const char *a_id_str) |
uuid_t | uuid_from_string (const std::string &a_id_str, bool &a_valid_flag) |
uuid_t | uuid_from_string (const char *a_id_str, bool &a_valid_flag) |
std::string | string_from_uuid (const uuid_t &a_id) |
Generates a string representation of the provided UUID. More... | |
void | add_version (const std::string &a_name, scarab::version_semantic_ptr_t a_version_ptr) |
template<typename x_version > | |
std::shared_ptr< version_store_adder< x_version > > | add_version (const std::string &a_name) |
typedef std::shared_ptr< msg_alert > alert_ptr_t |
Definition at line 25 of file dripline_fwd.hh.
typedef AmqpClient::Channel::ptr_t amqp_channel_ptr |
typedef AmqpClient::Envelope::ptr_t amqp_envelope_ptr |
typedef AmqpClient::AmqpException amqp_exception |
typedef AmqpClient::AmqpLibraryException amqp_lib_exception |
typedef AmqpClient::BasicMessage::ptr_t amqp_message_ptr |
typedef std::vector< amqp_message_ptr > amqp_split_message_ptrs |
typedef std::shared_ptr< endpoint_listener_receiver > elr_ptr_t |
Definition at line 36 of file dripline_fwd.hh.
typedef std::shared_ptr< endpoint > endpoint_ptr_t |
Definition at line 39 of file dripline_fwd.hh.
typedef std::map< std::string, incoming_message_pack > incoming_message_map |
Definition at line 44 of file receiver.hh.
typedef std::shared_ptr< listener > listener_ptr_t |
Definition at line 30 of file dripline_fwd.hh.
typedef std::shared_ptr< listener_receiver > lr_ptr_t |
Definition at line 33 of file dripline_fwd.hh.
typedef std::shared_ptr< message > message_ptr_t |
Definition at line 20 of file dripline_fwd.hh.
typedef std::shared_ptr< msg_reply > reply_ptr_t |
Definition at line 24 of file dripline_fwd.hh.
typedef std::shared_ptr< msg_request > request_ptr_t |
Definition at line 23 of file dripline_fwd.hh.
typedef std::shared_ptr< sent_msg_pkg > sent_msg_pkg_ptr |
Definition at line 27 of file dripline_fwd.hh.
typedef std::shared_ptr< service > service_ptr_t |
Definition at line 42 of file dripline_fwd.hh.
typedef boost::uuids::uuid uuid_t |
|
strong |
Message Types
Enumerator | |
---|---|
reply | |
request | |
alert | |
unknown |
Definition at line 57 of file dripline_constants.hh.
|
strong |
Message Operations
Enumerator | |
---|---|
set | |
get | |
cmd | |
unknown |
Definition at line 33 of file dripline_constants.hh.
void add_dripline_options | ( | scarab::main_app & | an_app | ) |
Add basic AMQP options to an app object.
Definition at line 75 of file dripline_config.cc.
void add_return_code | ( | unsigned | a_value, |
const std::string & | a_name, | ||
const std::string & | a_description | ||
) |
Helper function to add a return code (primarily for python binding); scarab::error will be thrown if the value is not unique.
Definition at line 90 of file return_codes.cc.
void add_version | ( | const std::string & | a_name, |
scarab::version_semantic_ptr_t | a_version_ptr | ||
) |
Definition at line 23 of file version_store.cc.
std::shared_ptr< version_store_adder< x_version > > dripline::add_version | ( | const std::string & | a_name | ) |
Definition at line 86 of file version_store.hh.
bool check_and_add_return_code | ( | unsigned | a_value, |
const std::string & | a_name, | ||
const std::string & | a_description | ||
) |
Helper function to add a return code (primarily for python binding) A return of true
means the return code was added. A return of false
means the return code was not added because it already exists.
Definition at line 97 of file return_codes.cc.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
uuid_t generate_nil_uuid | ( | ) |
uuid_t generate_random_uuid | ( | ) |
std::vector< unsigned > get_return_code_values | ( | ) |
Definition at line 110 of file return_codes.cc.
std::map< unsigned, std::unique_ptr< return_code > > get_return_codes_map | ( | ) |
Definition at line 122 of file return_codes.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
op_t | an_op | ||
) |
Pass the integer-equivalent of a message-operation enum to an ostream.
Definition at line 25 of file dripline_constants.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
const return_code & | a_rc | ||
) |
Definition at line 39 of file return_codes.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
msg_t | a_msg | ||
) |
Pass the integer-equivalent of a message-type enum to an ostream.
Definition at line 59 of file dripline_constants.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
message::encoding | a_enc | ||
) |
Definition at line 633 of file message.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
const message & | a_message | ||
) |
Definition at line 639 of file message.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
const msg_request & | a_message | ||
) |
Definition at line 668 of file message.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
const msg_reply & | a_message | ||
) |
Definition at line 677 of file message.cc.
std::ostream & operator<< | ( | std::ostream & | a_os, |
const msg_alert & | a_message | ||
) |
Definition at line 685 of file message.cc.
bool operator== | ( | const return_code & | a_lhs, |
const return_code & | a_rhs | ||
) |
Definition at line 32 of file return_codes.cc.
Definition at line 586 of file message.cc.
bool operator== | ( | const msg_request & | a_lhs, |
const msg_request & | a_rhs | ||
) |
Definition at line 613 of file message.cc.
Definition at line 621 of file message.cc.
Definition at line 628 of file message.cc.
AmqpClient::TableValue param_to_table | ( | const scarab::param_node & | a_node | ) |
AmqpClient::TableValue param_to_table | ( | const scarab::param_array & | a_array | ) |
AmqpClient::TableValue param_to_table | ( | const scarab::param_value & | a_value | ) |
AmqpClient::TableValue param_to_table | ( | const scarab::param & | a_param | ) |
void set_reply_cache | ( | const return_code & | a_code, |
const std::string & | a_message, | ||
scarab::param_ptr_t | a_payload_ptr | ||
) |
Set the contents of the reply cache (functional access to the singleton reply_cache)
Definition at line 15 of file reply_cache.cc.
std::string string_from_uuid | ( | const uuid_t & | a_id | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
scarab::param_ptr_t table_to_param | ( | const AmqpClient::Table & | a_table | ) |
scarab::param_ptr_t table_to_param | ( | const AmqpClient::Array & | a_array | ) |
scarab::param_ptr_t table_to_param | ( | const AmqpClient::TableValue & | a_value | ) |
msg_t to_msg_t | ( | uint32_t | a_msg_uint | ) |
Convert an integer to a message-type enum The result is unspecified for invalid integers
Definition at line 55 of file dripline_constants.cc.
msg_t to_msg_t | ( | std::string | a_msg_str | ) |
Gives the message-type enum for a string Throws dripline_error for invalid strings
Definition at line 74 of file dripline_constants.cc.
op_t to_op_t | ( | uint32_t | an_op_uint | ) |
Convert an integer to a message-operation enum The result is unspecified for invalid integers
Definition at line 21 of file dripline_constants.cc.
op_t to_op_t | ( | std::string | an_op_str | ) |
Gives the message-operation enum for a string Throws dripline_error for invalid strings
Definition at line 40 of file dripline_constants.cc.
std::string to_string | ( | op_t | an_op | ) |
Gives the human-readable version of a message operation.
Definition at line 30 of file dripline_constants.cc.
std::string to_string | ( | msg_t | a_msg | ) |
Gives the human-readable version of the message type.
Definition at line 64 of file dripline_constants.cc.
uint32_t to_uint | ( | op_t | an_op | ) |
Convert a message-operation enum to an integer.
Definition at line 17 of file dripline_constants.cc.
uint32_t to_uint | ( | msg_t | a_msg | ) |
Convert a message-type enum to an integer.
Definition at line 51 of file dripline_constants.cc.
uuid_t uuid_from_string | ( | const std::string & | a_id_str | ) |
Converts a string to a UUID object.
a_id_str | The input UUID represented as a string. Valid formats are hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh , where each h is a case-insensitive hexidecimal character, and hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh . |
uuid_t uuid_from_string | ( | const std::string & | a_id_str, |
bool & | a_valid_flag | ||
) |
Converts a string to a UUID object.
[in] | a_id_str | The input UUID represented as a string. Valid formats are hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh , where each h is a case-insensitive hexidecimal character, and hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh . |
[out] | a_valid_flag | Returns whether the provided string was a valid UUID. |