1 #ifndef DRIPLINE_AMQP_RELAYER_HH_ 2 #define DRIPLINE_AMQP_RELAYER_HH_ 8 #include "cancelable.hh" 9 #include "concurrent_queue.hh" 11 #include <condition_variable> 40 relayer(
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 =
"" );
49 void execute_relayer();
71 wait_for_send_pkg_ptr send_async(
request_ptr_t a_request )
const;
74 wait_for_send_pkg_ptr send_async(
alert_ptr_t a_alert )
const;
83 reply_ptr_t wait_for_reply(
const wait_for_send_pkg_ptr a_receive_reply,
int a_timeout_ms = 0 );
92 reply_ptr_t wait_for_reply(
const wait_for_send_pkg_ptr a_receive_reply,
bool& a_chan_valid,
int a_timeout_ms = 0 );
95 void do_cancellation(
int a_code );
102 typedef std::shared_ptr< message_and_reply >
mar_ptr;
104 mutable scarab::concurrent_queue< mar_ptr >
f_queue;
106 mv_referrable(
receiver, msg_receiver );
scarab::concurrent_queue< mar_ptr > f_queue
Extended sent-message package that adds thread synchronization objects.
std::shared_ptr< message_and_reply > mar_ptr
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
wait_for_send_pkg_ptr f_wait_for_send_pkg
std::condition_variable f_condition_var
Asynchronous message sending.
A receiver is able to collect Dripline message chunks and reassemble them into a complete Dripline me...
std::shared_ptr< msg_reply > reply_ptr_t
sent_msg_pkg_ptr f_sent_msg_pkg_ptr
std::shared_ptr< wait_for_send_pkg > wait_for_send_pkg_ptr
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
std::shared_ptr< message > message_ptr_t