8 #ifndef DRIPLINE_SERVICE_HH_
9 #define DRIPLINE_SERVICE_HH_
91 exchange_declared = 20,
127 const bool a_make_connection =
true );
136 mv_referrable( scarab::authentication, auth );
139 mv_accessible(
bool, restart_on_error );
140 mv_accessible(
bool, enable_scheduling );
186 virtual bool open_channels();
188 virtual bool setup_queues();
190 virtual bool bind_keys();
192 virtual bool start_consuming();
194 virtual bool stop_consuming();
196 virtual bool remove_queue();
201 virtual bool listen_on_queue();
204 virtual void send_reply(
reply_ptr_t a_reply )
const;
215 mv_referrable( std::string, broadcast_key );
224 virtual void do_cancellation(
int a_code );
229 a_request->sender_service_name() = f_name;
237 a_reply->sender_service_name() = f_name ;
245 a_alert->sender_service_name() = f_name;
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
virtual sent_msg_pkg_ptr send(request_ptr_t a_request, amqp_channel_ptr a_channel=amqp_channel_ptr()) const
Basic Dripline object capable of receiving and acting on messages.
A heartbeater repeatedly sends an alert on a particular time interval.
Convenience class to bring together listener and concurrent_receiver.
Executes scheduled events.
Sets the default service configuration.
Primary unit of software that connects to a broker and typically provides an interface with an instru...
virtual sent_msg_pkg_ptr send(request_ptr_t a_request, amqp_channel_ptr a_channel=amqp_channel_ptr()) const
Sends a request message and returns a channel on which to listen for a reply.
service(const service &)=delete
std::map< std::string, endpoint_ptr_t > sync_map_t
service & operator=(const service &)=delete
std::map< std::string, lr_ptr_t > async_map_t
service(service &&a_orig)=default
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
scarab::authentication create_auth_with_dripline(bool a_process_spec)
Create an authentication object with the default dripline authentication specification.
std::shared_ptr< msg_request > request_ptr_t
boost::uuids::uuid uuid_t
Universally-unique-identifier type containing 16 hexadecimal characters.
std::shared_ptr< endpoint > endpoint_ptr_t