17#ifndef INCLUDED_RMQA_PRODUCER
18#define INCLUDED_RMQA_PRODUCER
20#include <rmqa_topologyupdate.h>
21#include <rmqp_messagetransformer.h>
22#include <rmqp_producer.h>
23#include <rmqp_topology.h>
24#include <rmqt_exchange.h>
25#include <rmqt_message.h>
26#include <rmqt_queue.h>
27#include <rmqt_result.h>
29#include <bsl_memory.h>
30#include <bsl_string.h>
31#include <bslma_managedptr.h>
32#include <bsls_timeinterval.h>
34namespace BloombergLP {
49 explicit Producer(bslma::ManagedPtr<rmqp::Producer>& impl);
89 const bsl::string& routingKey,
91 const bsls::TimeInterval& timeout = bsls::TimeInterval());
99 const bsl::shared_ptr<rmqp::MessageTransformer>& transformer);
142 const bsl::string& routingKey,
143 rmqt::Mandatory::Value mandatoryFlag,
145 const bsls::TimeInterval& timeout = bsls::TimeInterval());
156 const bsls::TimeInterval& timeout = bsls::TimeInterval(0));
158#ifdef USES_LIBRMQ_EXPERIMENTAL_FEATURES
194 const bsl::string& routingKey,
206 waitForConfirms(
const bsls::TimeInterval& timeout = bsls::TimeInterval());
213 bslma::ManagedPtr<rmqp::Producer> d_impl;
Provide a RabbitMQ Producer API for publishing to a specific Exchange.
Definition: rmqa_producer.h:43
rmqt::Result waitForConfirms(const bsls::TimeInterval &timeout=bsls::TimeInterval())
Definition: rmqa_producer.cpp:62
void addTransformer(const bsl::shared_ptr< rmqp::MessageTransformer > &transformer)
Definition: rmqa_producer.cpp:28
rmqp::Producer::SendStatus send(const rmqt::Message &message, const bsl::string &routingKey, const rmqp::Producer::ConfirmationCallback &confirmCallback, const bsls::TimeInterval &timeout=bsls::TimeInterval())
Definition: rmqa_producer.cpp:35
rmqt::Result updateTopology(const rmqa::TopologyUpdate &topologyUpdate, const bsls::TimeInterval &timeout=bsls::TimeInterval(0))
Definition: rmqa_producer.cpp:68
Producer(bslma::ManagedPtr< rmqp::Producer > &impl)
Definition: rmqa_producer.cpp:21
Definition: rmqa_topologyupdate.h:27
bsl::function< void(const rmqt::Message &, const bsl::string &routingKey, const rmqt::ConfirmResponse &)> ConfirmationCallback
Invoked on receipt of message confirmation.
Definition: rmqp_producer.h:71
SendStatus
Possible results of rmqp::Producer::send.
Definition: rmqp_producer.h:50
An AMQP content message.
Definition: rmqt_message.h:43
A result of an operation.
Definition: rmqt_result.h:37