8 #ifndef DRIPLINE_CORE_HH_
9 #define DRIPLINE_CORE_HH_
105 core(
const scarab::param_node& a_config =
dripline_config(),
const scarab::authentication& a_auth = scarab::authentication(),
const bool a_make_connection =
true );
129 mv_referrable( std::string, address );
130 mv_accessible(
unsigned, port );
131 mv_referrable( std::string, username );
132 mv_referrable( std::string, password );
134 mv_referrable( std::string, requests_exchange );
135 mv_referrable( std::string, alerts_exchange );
137 mv_referrable( std::string, heartbeat_routing_key );
139 mv_accessible(
unsigned, max_payload_size );
141 mv_accessible(
bool, make_connection );
142 mv_accessible(
unsigned, max_connection_attempts );
155 static bool setup_exchange(
amqp_channel_ptr a_channel,
const std::string& a_exchange );
157 static bool setup_queue(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
159 static bool bind_key(
amqp_channel_ptr a_channel,
const std::string& a_exchange,
const std::string& a_queue_name,
const std::string& a_routing_key );
161 static std::string start_consuming(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
163 static bool stop_consuming(
amqp_channel_ptr a_channel, std::string& a_consumer_tag );
165 static bool remove_queue(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
core(const core &a_orig)=default
core(core &&a_orig)=default
core & operator=(const core &a_orig)=default
bool send_noreply(message_ptr_t a_message, const std::string &a_exchange) const
amqp_channel_ptr send_withreply(message_ptr_t a_message, std::string &a_reply_consumer_tag, const std::string &a_exchange) const
core & operator=(core &&a_orig)=default
Sets the default configuration used by core. These parameters pertain to the dripline mesh that will ...
A receiver is able to collect Dripline message chunks and reassemble them into a complete Dripline me...
AmqpClient::Channel::ptr_t amqp_channel_ptr
std::shared_ptr< msg_alert > alert_ptr_t
std::shared_ptr< message > message_ptr_t
std::shared_ptr< sent_msg_pkg > sent_msg_pkg_ptr
std::shared_ptr< msg_reply > reply_ptr_t
std::shared_ptr< msg_request > request_ptr_t
AmqpClient::Envelope::ptr_t amqp_envelope_ptr
Contains information about sent messages.
amqp_channel_ptr f_channel
std::string f_consumer_tag
std::string f_send_error_message