8 #ifndef DRIPLINE_CORE_HH_ 9 #define DRIPLINE_CORE_HH_ 81 core(
const scarab::param_node& a_config = scarab::param_node(),
const std::string& a_broker_address =
"",
unsigned a_port = 0,
const std::string& a_auth_file =
"",
const bool a_make_connection =
true );
82 core(
const bool a_make_connection,
const scarab::param_node& a_config = scarab::param_node() );
88 core& operator=(
const core& a_orig );
104 mv_referrable( std::string, address );
105 mv_accessible(
unsigned, port );
106 mv_referrable( std::string, username );
107 mv_referrable( std::string, password );
109 mv_referrable( std::string, requests_exchange );
110 mv_referrable( std::string, alerts_exchange );
112 mv_referrable( std::string, heartbeat_routing_key );
114 mv_accessible(
unsigned, max_payload_size );
116 mv_accessible(
bool, make_connection );
125 bool send_noreply(
message_ptr_t a_message,
const std::string& a_exchange )
const;
129 static bool setup_exchange(
amqp_channel_ptr a_channel,
const std::string& a_exchange );
131 static bool setup_queue(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
133 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 );
135 static std::string start_consuming(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
137 static bool stop_consuming(
amqp_channel_ptr a_channel, std::string& a_consumer_tag );
139 static bool remove_queue(
amqp_channel_ptr a_channel,
const std::string& a_queue_name );
143 static bool listen_for_message(
amqp_envelope_ptr& a_envelope,
amqp_channel_ptr a_channel,
const std::string& a_consumer_tag,
int a_timeout_ms = 0,
bool a_do_ack =
true );
std::shared_ptr< sent_msg_pkg > sent_msg_pkg_ptr
std::shared_ptr< msg_request > request_ptr_t
std::shared_ptr< msg_alert > alert_ptr_t
amqp_channel_ptr f_channel
A receiver is able to collect Dripline message chunks and reassemble them into a complete Dripline me...
std::string f_consumer_tag
std::string f_send_error_message
AmqpClient::Channel::ptr_t amqp_channel_ptr
std::shared_ptr< msg_reply > reply_ptr_t
Contains information about sent messages.
AmqpClient::Envelope::ptr_t amqp_envelope_ptr
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
std::shared_ptr< message > message_ptr_t