### ConsumerImpl::start() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConsumerImpl-members.html Starts the consumer to begin receiving messages. ```APIDOC ## start() ### Description Starts the consumer to begin receiving messages. ### Class BloombergLP::rmqa::ConsumerImpl ``` -------------------------------- ### run Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConnectionMonitor-members.html Starts the connection monitoring process. This method is an override from a base class. ```APIDOC ## run ### Description Initiates the execution of the connection monitoring logic. ### Method `run()` ### Remarks This method overrides a method from a base class. ``` -------------------------------- ### run Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConnectionMonitor.html Starts the ConnectionMonitor's operation. This method is intended to be called to begin monitoring connections. ```APIDOC ## void run() BSLS_KEYWORD_OVERRIDE ### Description Initiates the connection monitoring process. This method should be called to start the monitor's activity. ``` -------------------------------- ### createProducer() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConnectionImpl.html Creates a producer for a given exchange, starting the process of declaring the topology and creating the producer. The returned Result provides access to the Producer when it is ready. ```APIDOC ## createProducer() ### Description Create a producer for the given exchange using the `topology` provided. This method starts the process of declaring the topology, and creating the producer. The returned Future provides access to the Producer when it is ready. ### Parameters - **topology** (const rmqt::Topology &) - The topology declared by this producer. This topology will be re-declared on reconnection. The passed `exchange` must exist in the given `topology`. - **exchange** (rmqt::ExchangeHandle) - The exchange to which all produced messages will be published. - **maxOutstandingConfirms** (uint16_t) - The maximum number of confirms the `Producer` will allow before blocking, and waiting for a confirm from the broker. ### Returns A result which will contain either the connected producer object which has been registered on the Event Loop thread or an error. ``` -------------------------------- ### Functions starting with 'g' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section includes functions for generating consumer tags and retrieving message GUIDs. ```APIDOC ## generateConsumerTag() ### Description Generates a unique tag for a consumer. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## guid() ### Description Retrieves the globally unique identifier for a message. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### guid() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Message.html Retrieves the globally unique identifier (GUID) of the message. ```APIDOC ## guid() | const bdlb::Guid & BloombergLP::rmqt::Message::guid | ( | | ) | const --- inline Message GUID. Returns A globally unique identifier of the message * * * ``` -------------------------------- ### create() Source: https://bloomberg.github.io/rmqcpp/functions_c.html Creates an instance. This function is available in BloombergLP::rmqa::CompressionTransformer and BloombergLP::rmqp::ConsumerTracing. ```APIDOC ## create() ### Description Creates an instance. ### Method Not specified (likely a static member function call) ### Endpoint N/A ### Parameters None explicitly documented. ### Request Example N/A ### Response None explicitly documented. ``` -------------------------------- ### Example Class Definitions for Doxygen Graphing Source: https://bloomberg.github.io/rmqcpp/graph_legend.html These C++ class definitions are used to demonstrate how Doxygen generates inheritance and usage graphs. They include examples of invisible, truncated, undocumented, public, protected, private inheritance, and template classes. ```cpp /*! Invisible class because of truncation */ class Invisible { }; /*! Truncated class, inheritance relation is hidden */ class Truncated : public Invisible { }; /* Class not documented with doxygen comments */ class Undocumented { }; /*! Class that is inherited using public inheritance */ class PublicBase : public Truncated { }; /*! A template class */ template class Templ { }; /*! Class that is inherited using protected inheritance */ class ProtectedBase { }; /*! Class that is inherited using private inheritance */ class PrivateBase { }; /*! Class that is used by the Inherited class */ class Used { }; /*! Super class that inherits a number of other classes */ class Inherited : public PublicBase, protected ProtectedBase, private PrivateBase, public Undocumented, public Templ { private: Used *m_usedClass; }; ``` -------------------------------- ### ProducerImpl::registerUniqueCallback Source: https://bloomberg.github.io/rmqcpp/rmqa__producerimpl_8h_source.html Registers a unique confirmation callback associated with a GUID. ```APIDOC ## ProducerImpl::registerUniqueCallback ### Description Registers a unique confirmation callback. ### Signature bool registerUniqueCallback(const bdlb::Guid& guid, const rmqp::Producer::ConfirmationCallback& confirmCallback) ### Parameters * **guid** (const bdlb::Guid&) - The unique identifier for the callback. * **confirmCallback** (const rmqp::Producer::ConfirmationCallback&) - The callback function to register. ### Return Value bool - True if the callback was registered successfully, false otherwise. ``` -------------------------------- ### make(const bsl::shared_ptr< rmqamqp::Connection > &, rmqio::EventLoop &, bdlmt::ThreadPool &, const rmqt::ErrorCallback &, const bsl::shared_ptr< rmqt::Endpoint > &, const rmqt::Tunables &, const bsl::shared_ptr< rmqa::ConsumerImpl::Factory > &, const bsl::shared_ptr< rmqa::ProducerImpl::Factory > &) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConnectionImpl-members.html Static factory method to create an instance of ConnectionImpl. It takes various dependencies as arguments. ```APIDOC ## make(const bsl::shared_ptr< rmqamqp::Connection > &, rmqio::EventLoop &, bdlmt::ThreadPool &, const rmqt::ErrorCallback &, const bsl::shared_ptr< rmqt::Endpoint > &, const rmqt::Tunables &, const bsl::shared_ptr< rmqa::ConsumerImpl::Factory > &, const bsl::shared_ptr< rmqa::ProducerImpl::Factory > &) ### Description Static factory method to create a ConnectionImpl instance. ### Method static ### Class BloombergLP::rmqa::ConnectionImpl ``` -------------------------------- ### make() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConnectionImpl.html Static factory method to create a new instance of ConnectionImpl. ```APIDOC ## make() ### Description Static factory method to create a new instance of ConnectionImpl with the specified dependencies. ### Method static bsl::shared_ptr< rmqa::ConnectionImpl > ### Endpoint N/A (Method Call) ### Parameters - **amqpConn** (const bsl::shared_ptr< rmqamqp::Connection > &) - The AMQP connection object. - **eventLoop** (rmqio::EventLoop &) - The event loop for I/O operations. - **threadpool** (bdlmt::ThreadPool &) - The thread pool for asynchronous tasks. - **errorCb** (const rmqt::ErrorCallback &) - Callback for handling errors. - **endpoint** (const bsl::shared_ptr< rmqt::Endpoint > &) - The endpoint configuration. - **tunables** (const rmqt::Tunables &) - Tunable parameters for the connection. - **consumerFactory** (const bsl::shared_ptr< rmqa::ConsumerImpl::Factory > &) - Factory for creating consumers. - **producerFactory** (const bsl::shared_ptr< rmqa::ProducerImpl::Factory > &) - Factory for creating producers. ### Request Example N/A ### Response - **Success Response**: Returns a shared pointer to a newly created ConnectionImpl object. - **Error Response**: Throws an exception or returns a null pointer if creation fails (depending on implementation). ``` -------------------------------- ### Functions starting with 'o' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section details operator overloads for result and future objects. ```APIDOC ## operator BoolType() ### Description Converts a result object to a boolean, indicating success or failure. ### Method Operator overload. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## operator=() ### Description Assignment operator for a future object. ### Method Operator overload. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### create() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1CompressionTransformer-members.html Static factory method to create a CompressionTransformer instance. ```APIDOC ## create() ### Description Factory method to create a CompressionTransformer. ### Method static ``` -------------------------------- ### VHost(bslma::ManagedPtr< rmqp::Connection > impl) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1VHost-members.html Constructor for the VHost class. ```APIDOC ## VHost(bslma::ManagedPtr< rmqp::Connection > impl) ### Description Constructor for the VHost class. ### Method [Constructor] ### Endpoint N/A (SDK method) ### Parameters - **impl** (bslma::ManagedPtr< rmqp::Connection >) - The implementation pointer for the connection. ``` -------------------------------- ### Functions starting with 'i' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section covers functions for inverse transformations and checking message persistence. ```APIDOC ## inverseTransform() ### Description Applies the inverse of a transformation to a message. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## isDefault() ### Description Checks if an exchange is the default exchange. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## isPersistent() ### Description Checks if a message is persistent. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### create Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1TracingProducerImpl_1_1Factory-members.html Creates an instance of TracingProducerImpl::Factory. ```APIDOC ## create ### Description Creates an instance of TracingProducerImpl::Factory. ### Signature ```cpp BloombergLP::rmqa::TracingProducerImpl::Factory::create( uint16_t maxOutstandingConfirms, const rmqt::ExchangeHandle &exchange, const bsl::shared_ptr< rmqamqp::SendChannel > &channel, bdlmt::ThreadPool &threadPool, rmqio::EventLoop &eventLoop ) const ``` ### Parameters * **maxOutstandingConfirms** (uint16_t) - The maximum number of outstanding confirms. * **exchange** (const rmqt::ExchangeHandle &) - The exchange handle. * **channel** (const bsl::shared_ptr< rmqamqp::SendChannel > &) - The send channel. * **threadPool** (bdlmt::ThreadPool &) - The thread pool. * **eventLoop** (rmqio::EventLoop &) - The event loop. ``` -------------------------------- ### Functions starting with 'n' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section covers functions for negative acknowledgments and retrieving queue names. ```APIDOC ## nack() ### Description Negatively acknowledges a message, indicating it could not be processed. ### Method Not specified (likely part of a message handling mechanism). ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## name() ### Description Retrieves the name of a queue or transformer. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Binding(const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable()) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Binding-members.html Constructor for the Binding class. Initializes a new binding with a specified key and optional arguments. ```APIDOC ## Binding(const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable()) ### Description Constructor for the Binding class. Initializes a new binding with a specified key and optional arguments. ### Method explicit protected ### Parameters - **bindingKey** (bsl::string) - The key for the binding. - **args** (rmqt::FieldTable, optional) - The arguments for the binding. Defaults to an empty FieldTable. ### Response None (Constructor) ### Request Example ```cpp BloombergLP::rmqt::Binding myBinding("my.key", myFieldTable); ``` ### Response Example None (Constructor) ``` -------------------------------- ### Functions starting with 'e' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section details functions for accessing message envelopes, and creating exchange-related objects. ```APIDOC ## envelope() ### Description Retrieves the envelope associated with a message guard. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Envelope() ### Description Constructor for an Envelope object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## error() ### Description Retrieves the error from a result object. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## exchange() ### Description Retrieves the exchange associated with an envelope. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Exchange() ### Description Constructor for an Exchange object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## ExchangeBinding() ### Description Constructor for an ExchangeBinding object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## ExchangeType() ### Description Constructor for an ExchangeType object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### TracingProducerImpl Constructor Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1TracingProducerImpl.html Initializes a new instance of the TracingProducerImpl class. ```APIDOC ## TracingProducerImpl Constructor ### Description Initializes a new instance of the TracingProducerImpl class with specified parameters for outstanding confirms, send channel, thread pool, event loop, exchange name, endpoint, and tracing implementation. ### Parameters - **maxOutstandingConfirms** (uint16_t) - The maximum number of outstanding confirmations to track. - **channel** (const bsl::shared_ptr< rmqamqp::SendChannel > &) - The send channel to use for communication. - **threadPool** (bdlmt::ThreadPool &) - The thread pool for asynchronous operations. - **eventLoop** (rmqio::EventLoop &) - The event loop for handling events. - **exchangeName** (const bsl::string &) - The name of the exchange to send messages to. - **endpoint** (const bsl::shared_ptr< const rmqt::Endpoint > &) - The endpoint details. - **tracing** (const bsl::shared_ptr< rmqp::ProducerTracing > &) - The tracing implementation to use. ``` -------------------------------- ### create (with BSLS_KEYWORD_OVERRIDE) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1TracingConsumerImpl_1_1Factory.html Creates and returns a shared pointer to a ConsumerImpl instance, specifically a TracingConsumerImpl, with the provided channel, queue, message handler, consumer tag, thread pool, event loop, acknowledgment queue, and message transformers. This overload includes BSLS_KEYWORD_OVERRIDE. ```APIDOC ## create (with BSLS_KEYWORD_OVERRIDE) ### Description Creates a consumer implementation with tracing capabilities. ### Method `virtual bsl::shared_ptr< ConsumerImpl > create(...) const BSLS_KEYWORD_OVERRIDE` ### Parameters - **channel** (bsl::shared_ptr< rmqamqp::ReceiveChannel >) - The receive channel. - **queue** (rmqt::QueueHandle) - The queue handle. - **onMessage** (bsl::shared_ptr< rmqa::ConsumerImpl::ConsumerFunc >) - The message handler function. - **consumerTag** (bsl::string) - The consumer tag. - **threadPool** (bdlmt::ThreadPool &) - The thread pool for asynchronous operations. - **eventLoop** (rmqio::EventLoop &) - The event loop. - **ackQueue** (bsl::shared_ptr< rmqt::ConsumerAckQueue >) - The acknowledgment queue. - **transformers** (bsl::vector< bsl::shared_ptr< rmqp::MessageTransformer > >) - A vector of message transformers. ``` -------------------------------- ### Functions starting with 'a' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section details functions related to acknowledgments, exchange and queue management, and message transformation. ```APIDOC ## ack() ### Description Acknowledges a message. ### Method Not specified (likely part of a message handling mechanism). ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## addExchange() ### Description Adds a new exchange to the topology. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## addPassiveExchange() ### Description Adds a passive exchange to the topology, which must already exist. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## addPassiveQueue() ### Description Adds a passive queue to the topology, which must already exist. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## addQueue() ### Description Adds a new queue to the topology. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## addTransformer() ### Description Adds a transformer for message processing. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## arguments() ### Description Retrieves the arguments associated with a queue. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## autoDelete() ### Description Indicates if the queue should be automatically deleted when the last consumer disconnects. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### topology() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqp_1_1Topology.html Gets a read-only copy of the stored topology, used internally for sending topology information to the broker. ```APIDOC ## topology() ### Description Get a readonly copy of stored topology. This is used internally by `rmqamqp` to send the topology to the broker. ### Returns const rmqt::Topology & ### Implemented in BloombergLP::rmqa::Topology. ``` -------------------------------- ### SimpleEndpoint() Source: https://bloomberg.github.io/rmqcpp/functions_s.html Constructor for SimpleEndpoint. ```APIDOC ## SimpleEndpoint() ### Description Constructor for SimpleEndpoint. ### Method Not specified (constructor) ### Endpoint Not applicable (SDK class constructor) ### Parameters Not specified in the source text. ### Request Example Not specified in the source text. ### Response Not specified in the source text. ``` -------------------------------- ### topology() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1Topology.html Gets a readonly copy of the stored topology. This is used internally by `rmqamqp` to send the topology to the broker. ```APIDOC ## topology() ### Description Get a readonly copy of stored topology. This is used internally by `rmqamqp` to send the topology to the broker. ### Method `const rmqt::Topology & BloombergLP::rmqa::Topology::topology() const` ``` -------------------------------- ### MockVHost Class Definition Source: https://bloomberg.github.io/rmqcpp/rmqtestmocks__mockvhost_8h_source.html Defines the MockVHost class, inheriting from rmqp::Connection and using Google Mock macros to mock methods for creating consumers and producers. ```cpp #ifndef INCLUDED_RMQTESTMOCKS_MOCKVHOST #define INCLUDED_RMQTESTMOCKS_MOCKVHOST #include #include #include #include #include #include #include #include namespace BloombergLP { namespace rmqtestmocks { class MockVHost : public rmqp::Connection { public: // CREATORS MockVHost(); ~MockVHost() BSLS_KEYWORD_OVERRIDE; bsl::shared_ptr vhost(); MOCK_METHOD0(close, void()); MOCK_METHOD4(createConsumer, rmqt::Result( const rmqt::Topology& topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc& messageConsumer, const rmqt::ConsumerConfig& config)); MOCK_METHOD4(createConsumerAsync, rmqt::Future( const rmqt::Topology& topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc& messageConsumer, const rmqt::ConsumerConfig& config)); MOCK_METHOD3(createProducer, rmqt::Result(const rmqt::Topology& topology, rmqt::ExchangeHandle exchange, uint16_t maxOutstandingConfirms)); MOCK_METHOD3(createProducerAsync, rmqt::Future(const rmqt::Topology& topology, rmqt::ExchangeHandle exchange, uint16_t maxOutstandingConfirms)); // DEPRECATED: MOCK_METHOD5(createConsumer, rmqt::Result( const rmqt::Topology& topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc& messageConsumer, const bsl::string& consumerTag, uint16_t prefetchCount)); MOCK_METHOD5(createConsumerAsync, rmqt::Future( const rmqt::Topology& topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc& messageConsumer, const bsl::string& consumerTag, uint16_t prefetchCount)); private: MockVHost(const MockVHost&) BSLS_KEYWORD_DELETED; MockVHost& operator=(const MockVHost&) BSLS_KEYWORD_DELETED; }; } } #endif ``` -------------------------------- ### createProducer Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqp_1_1Connection.html Creates a producer for a given exchange and topology. This method initiates topology declaration and producer setup. ```APIDOC ## createProducer() ### Description Create a producer for the given exchange using the `topology` provided. This method starts the process of declaring the topology, and creating the producer. The returned Future provides access to the Producer when it is ready. ### Method Signature `virtual rmqt::Result< Producer > BloombergLP::rmqp::Connection::createProducer(const rmqt::Topology & _topology_, rmqt::ExchangeHandle _exchange_, uint16_t _maxOutstandingConfirms_) ### Parameters * **topology** (const rmqt::Topology &) - The topology declared by this producer. This topology will be re-declared on reconnection. The passed `exchange` must exist in the given `topology`. * **exchange** (rmqt::ExchangeHandle) - The exchange to which all produced messages will be published. * **maxOutstandingConfirms** (uint16_t) - The maximum number of confirms the `Producer` will allow before blocking, and waiting for a confirm from the broker. ### Returns A result which will contain either the connected producer object or an error. ``` -------------------------------- ### Topology() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Topology-members.html Constructor for the BloombergLP::rmqt::Topology class. ```APIDOC ## Topology() ### Description Constructor for the BloombergLP::rmqt::Topology class. ``` -------------------------------- ### Producer Constructor Source: https://bloomberg.github.io/rmqcpp/rmqa__producer_8h_source.html Initializes the Producer with a given rmqp::Producer implementation. Ensure the implementation is valid. ```cpp Producer(bslma::ManagedPtr< rmqp::Producer > &impl) ``` -------------------------------- ### Functions starting with 'm' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section details functions for creating futures, accessing messages, and managing message guards. ```APIDOC ## make() ### Description Creates a future result. ### Method Static factory method. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## message() ### Description Retrieves the message associated with a message guard. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Message() ### Description Constructor for a Message object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## MessageGuard() ### Description Constructor for a MessageGuard object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## messageId() ### Description Retrieves the unique identifier of a message. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Functions starting with 'f' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section covers functions related to monitoring connection status and handling asynchronous futures. ```APIDOC ## fetchAliveConnectionInfo() ### Description Fetches information about alive connections. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Future() ### Description Constructor for a Future object, representing an asynchronous operation. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Queue() Source: https://bloomberg.github.io/rmqcpp/functions_q.html Constructor for the Queue class. Initializes a new instance of the Queue. ```APIDOC ## Queue() ### Description Constructor for the Queue class. ### Signature `Queue() : BloombergLP::rmqt::Queue` ``` -------------------------------- ### Functions starting with 'b' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section covers functions related to binding exchanges and queues, and handling asynchronous results. ```APIDOC ## bind() ### Description Binds an exchange to a queue with a routing key. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Binding() ### Description Constructor for a Binding object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## blockResult() ### Description Blocks until a future result is available and returns it. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Consumer() Source: https://bloomberg.github.io/rmqcpp/functions_c.html Constructor for Consumer. Available for BloombergLP::rmqa::Consumer and BloombergLP::rmqp::Consumer. ```APIDOC ## Consumer() ### Description Constructor for Consumer. ### Method Constructor ### Endpoint N/A ### Parameters None explicitly documented. ### Request Example N/A ### Response N/A ``` -------------------------------- ### create Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1TracingConsumerImpl_1_1Factory.html Creates and returns a shared pointer to a ConsumerImpl instance, specifically a TracingConsumerImpl, with the provided channel, queue, message handler, consumer tag, thread pool, event loop, acknowledgment queue, and message transformers. This is the primary creation method. ```APIDOC ## create ### Description Creates a consumer implementation with tracing capabilities. ### Method `virtual bsl::shared_ptr< ConsumerImpl > create(...) const` ### Parameters - **channel** (bsl::shared_ptr< rmqamqp::ReceiveChannel >) - The receive channel. - **queue** (rmqt::QueueHandle) - The queue handle. - **onMessage** (bsl::shared_ptr< ConsumerFunc >) - The message handler function. - **consumerTag** (bsl::string) - The consumer tag. - **threadPool** (bdlmt::ThreadPool &) - The thread pool for asynchronous operations. - **eventLoop** (rmqio::EventLoop &) - The event loop. - **ackQueue** (bsl::shared_ptr< rmqt::ConsumerAckQueue >) - The acknowledgment queue. - **transformers** (bsl::vector< bsl::shared_ptr< rmqp::MessageTransformer > >) - A vector of message transformers. ``` -------------------------------- ### Functions starting with 'd' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section covers functions related to default exchanges, message delivery tags, and queue durability. ```APIDOC ## defaultExchange() ### Description Retrieves the default exchange. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## deliveryTag() ### Description Retrieves the delivery tag of a message. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## drain() ### Description Processes all messages currently in the consumer's queue. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## durable() ### Description Indicates if the queue is durable (survives broker restarts). ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Functions starting with 'c' Source: https://bloomberg.github.io/rmqcpp/functions_func.html This section includes functions for managing consumers, handling message envelopes, and creating various RabbitMQ entities. ```APIDOC ## cancel() ### Description Cancels a consumer, stopping message delivery. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## cancelAndDrain() ### Description Cancels a consumer and processes any remaining messages in its queue. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## channelLifetimeId() ### Description Retrieves the unique identifier for the channel's lifetime. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## close() ### Description Closes the connection or virtual host. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## ConfirmResponse() ### Description Constructor for a ConfirmResponse object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## Consumer() ### Description Constructor for a Consumer object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## consumer() ### Description Retrieves the consumer associated with a message guard. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## ConsumerConfig() ### Description Constructor for a ConsumerConfig object. ### Method Constructor. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## consumerTag() ### Description Retrieves the tag associated with a consumer. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## convertViaManagedPtr() ### Description Converts a value using a managed pointer. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## create() ### Description Creates a transformer or consumer tracer. ### Method Static factory method. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## createAndTag() ### Description Creates a producer tracer with a tag. ### Method Static factory method. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## createConsumer() ### Description Creates a consumer on a given connection or virtual host. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## createProducer() ### Description Creates a producer on a given connection or virtual host. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` ```APIDOC ## createVHostConnection() ### Description Creates a connection to a virtual host. ### Method Not specified. ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### createConsumer(const rmqp::Topology &topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc &onMessage, const rmqt::ConsumerConfig &config=rmqt::ConsumerConfig()) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1VHost-members.html Creates a consumer for a given queue with specified configuration. ```APIDOC ## createConsumer(const rmqp::Topology &topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc &onMessage, const rmqt::ConsumerConfig &config=rmqt::ConsumerConfig()) ### Description Creates a consumer for a given queue with specified configuration. ### Method [Method signature implies a call on an object instance] ### Endpoint N/A (SDK method) ### Parameters - **topology** (rmqp::Topology) - Description of the topology. - **queue** (rmqt::QueueHandle) - Handle to the queue. - **onMessage** (rmqp::Consumer::ConsumerFunc) - Callback function for received messages. - **config** (rmqt::ConsumerConfig) - Optional consumer configuration. Defaults to rmqt::ConsumerConfig(). ``` -------------------------------- ### BloombergLP::rmqp::MetricPublisher::publishSummary() Source: https://bloomberg.github.io/rmqcpp/functions_p.html Records a summary metric in the BloombergLP::rmqp::MetricPublisher class. ```APIDOC ## publishSummary() ### Description Records a summary metric. ### Method (Not specified in source, likely a member function) ### Endpoint (Not applicable for class member functions) ### Parameters (Parameters not specified in source) ### Request Example None ### Response None ``` -------------------------------- ### createProducer Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1VHostImpl.html Creates a producer for the given exchange using the provided Topology. This method starts the process of declaring the topology, and creating the producer. ```APIDOC ## createProducer() ### Description Create a producer for the given exchange using the `topology` provided. This method starts the process of declaring the topology, and creating the producer. The returned Future provides access to the Producer when it is ready. ### Parameters - **topology** (const rmqt::Topology &) - The topology declared by this producer. This topology will be re-declared on reconnection. The passed `exchange` must exist in the given `topology`. - **exchange** (rmqt::ExchangeHandle) - The exchange to which all produced messages will be published. - **maxOutstandingConfirms** (uint16_t) - The maximum number of confirms the `Producer` will allow before blocking, and waiting for a confirm from the broker. ### Returns A result which will contain either the connected producer object which has been registered on the Event Loop thread or an error. ``` -------------------------------- ### BloombergLP::rmqa::VHostImpl::createProducer Source: https://bloomberg.github.io/rmqcpp/rmqa__vhostimpl_8h_source.html Creates a synchronous producer for the vhost. ```APIDOC ## createProducer ### Description Creates a synchronous producer for the vhost. ### Signature ```cpp rmqt::Result< rmqp::Producer > createProducer(const rmqt::Topology &topology, rmqt::ExchangeHandle exchange, uint16_t maxOutstandingConfirms) BSLS_KEYWORD_OVERRIDE ``` ### Parameters * `topology` (rmqt::Topology) - The topology to use for the producer. * `exchange` (rmqt::ExchangeHandle) - The handle to the exchange. * `maxOutstandingConfirms` (uint16_t) - The maximum number of outstanding confirms. ### Returns A `rmqt::Result` containing a `rmqp::Producer` if successful, or an error. ### Definition ``` rmqa_vhostimpl.cpp:71 ``` ``` -------------------------------- ### Get Result (Blocking) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Future.html Retrieve the result of the Future, blocking the current thread if the result is not yet available. This call will wait indefinitely until the Future is resolved. ```cpp Result< T > blockResult (); ``` -------------------------------- ### ConsumerAck Class Overview Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1ConsumerAck.html Provides an overview of the ConsumerAck class, including its constructor, public types, and member functions. ```APIDOC ## Class ConsumerAck Represents an acknowledgment for a consumed message. ### Public Types | Type | Description | |---|---| | enum **Type** { **ACK**, **REJECT**, **REQUEUE** } | Defines the possible acknowledgment types for a message. | ### Public Member Functions | Function Signature | |---|---| | **ConsumerAck**(const Envelope &envelope, Type type) | Constructor for the ConsumerAck class. | | const Envelope & **envelope**() const | Returns the envelope associated with this acknowledgment. | | Type **type**() const | Returns the type of acknowledgment. | ``` -------------------------------- ### Get Future Result Immediately Source: https://bloomberg.github.io/rmqcpp/rmqt__future_8h_source.html Attempts to retrieve the result of a Future without blocking. Returns the result if available, otherwise returns a Result indicating a timeout. ```cpp template Result Future::tryResult() { return waitResult(bsls::TimeInterval(0)); } ``` -------------------------------- ### create Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1MessageGuard_1_1Factory-members.html Creates a MessageGuard instance with the provided message, envelope, callback, and consumer. ```APIDOC ## create ### Description Creates a MessageGuard instance with the provided message, envelope, callback, and consumer. ### Signature const rmqt::Message &message, const rmqt::Envelope &envelope, const MessageGuardCallback &ackCallback, rmqp::Consumer *consumer ### Returns MessageGuard instance ``` -------------------------------- ### createConsumer(const rmqp::Topology &topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc &onMessage, const bsl::string &consumerTag, uint16_t prefetchCount=rmqt::ConsumerConfig::s_defaultPrefetchCount) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1VHost-members.html Creates a consumer with a specific consumer tag and prefetch count. ```APIDOC ## createConsumer(const rmqp::Topology &topology, rmqt::QueueHandle queue, const rmqp::Consumer::ConsumerFunc &onMessage, const bsl::string &consumerTag, uint16_t prefetchCount=rmqt::ConsumerConfig::s_defaultPrefetchCount) ### Description Creates a consumer with a specific consumer tag and prefetch count. ### Method [Method signature implies a call on an object instance] ### Endpoint N/A (SDK method) ### Parameters - **topology** (rmqp::Topology) - Description of the topology. - **queue** (rmqt::QueueHandle) - Handle to the queue. - **onMessage** (rmqp::Consumer::ConsumerFunc) - Callback function for received messages. - **consumerTag** (bsl::string) - The tag for the consumer. - **prefetchCount** (uint16_t) - The number of messages to prefetch. Defaults to rmqt::ConsumerConfig::s_defaultPrefetchCount. ``` -------------------------------- ### Get Result with Absolute Timeout Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Future.html Retrieve the result of the Future, blocking until the specified absolute time. If the Future is not resolved by `absoluteTime`, an appropriate Result status is returned. ```cpp Result< T > timedWaitResult (const bsls::TimeInterval &absoluteTime); ``` -------------------------------- ### Get Future Result (with optional lock) Source: https://bloomberg.github.io/rmqcpp/rmqt__future_8h_source.html Retrieves the result of the future. If a lock guard is provided, it assumes the mutex is already held. Otherwise, it acquires the lock internally. ```cpp const Result& result(bslmt::LockGuard* haveGuard = 0) { if (!haveGuard) { bslmt::LockGuard guard(&d_mutex); return resultNoLock(); } BSLS_ASSERT(haveGuard->ptr() == &d_mutex); return resultNoLock(); } ``` -------------------------------- ### create Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1ConsumerImpl_1_1Factory-members.html Factory method to create a ConsumerImpl instance. ```APIDOC ## create ### Description Factory method to create a ConsumerImpl instance. ### Signature ```cpp virtual std::unique_ptr create( const bsl::shared_ptr& channel, rmqt::QueueHandle queue, const bsl::shared_ptr& onMessage, const bsl::string& consumerTag, bdlmt::ThreadPool& threadPool, rmqio::EventLoop& eventLoop, const bsl::shared_ptr& ackQueue, const bsl::vector>& transformers) const ``` ### Parameters * **channel** (bsl::shared_ptr) - The receive channel. * **queue** (rmqt::QueueHandle) - The queue handle. * **onMessage** (bsl::shared_ptr) - The callback function for messages. * **consumerTag** (bsl::string) - The consumer tag. * **threadPool** (bdlmt::ThreadPool&) - The thread pool for processing. * **eventLoop** (rmqio::EventLoop&) - The event loop. * **ackQueue** (bsl::shared_ptr) - The acknowledgment queue. * **transformers** (bsl::vector>) - Message transformers. ``` -------------------------------- ### Block Until Future Result is Available Source: https://bloomberg.github.io/rmqcpp/rmqt__future_8h_source.html Blocks the current thread until the Future's result is available, then returns the result. This is a synchronous way to get the result of an asynchronous operation. ```cpp template Result Future::blockResult() { d_impl->blockUntilMade(); return d_impl->result(); } ``` -------------------------------- ### Connection() Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqp_1_1Connection-members.html Constructor for the Connection class. ```APIDOC ## Connection() ### Description Constructor for the Connection class. ### Method Constructor ### Parameters None ### Response None ``` -------------------------------- ### Context and Options Functions Source: https://bloomberg.github.io/rmqcpp/functions_func.html Functions for managing RabbitMQ context and configuration options. ```APIDOC ## Context and Options Functions ### `RabbitContext()` **Description**: Constructs a RabbitContext object. ### `RabbitContextOptions()` **Description**: Constructs RabbitContextOptions for configuring the context. ### `setClientProperty()` **Description**: Sets a client property on the RabbitContextOptions. ### `setConnectionErrorThreshold()` **Description**: Sets the connection error threshold on RabbitContextOptions. ### `setConsumerTracing()` **Description**: Enables or disables consumer tracing in RabbitContextOptions. ### `setErrorCallback()` **Description**: Sets an error callback function for RabbitContextOptions. ### `setMessageProcessingTimeout()` **Description**: Sets the message processing timeout in RabbitContextOptions. ### `setMetricPublisher()` **Description**: Sets a metric publisher for RabbitContextOptions. ### `setProducerTracing()` **Description**: Enables or disables producer tracing in RabbitContextOptions. ### `setShuffleConnectionEndpoints()` **Description**: Configures shuffling of connection endpoints in RabbitContextOptions. ### `setThreadpool()` **Description**: Sets a thread pool for RabbitContextOptions. ### `useRabbitMQFieldValueEncoding()` **Description**: Enables RabbitMQ field value encoding in RabbitContextOptions. ``` -------------------------------- ### Try to Get Result (Non-blocking) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Future.html Attempt to retrieve the result of the Future without blocking the current thread. If the result is not yet available, it returns an appropriate Result status. ```cpp Result< T > tryResult (); ``` -------------------------------- ### Get Result with Relative Timeout Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqt_1_1Future.html Retrieve the result of the Future, blocking for a specified duration from the current time. If the Future is not resolved within `relativeTimeout`, an appropriate Result status is returned. ```cpp Result< T > waitResult (const bsls::TimeInterval &relativeTimeout); ``` -------------------------------- ### RabbitContext Constructor (Options) Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1RabbitContext-members.html Constructs a RabbitContext with specified options. ```APIDOC ## RabbitContext ### Description Constructs a RabbitContext object. ### Method Signature `RabbitContext(const RabbitContextOptions &options = RabbitContextOptions())` ### Notes This constructor is explicit. ``` -------------------------------- ### createProducerAsync Source: https://bloomberg.github.io/rmqcpp/classBloombergLP_1_1rmqa_1_1VHostImpl.html Asynchronously creates a RabbitMQ producer. ```APIDOC ## createProducerAsync ### Description Asynchronously creates a RabbitMQ producer. ### Parameters - **topology** (const rmqt::Topology &) - The topology to use for the producer. - **exchange** (rmqt::ExchangeHandle) - The exchange handle for the producer. - **maxOutstandingConfirms** (uint16_t) - The maximum number of outstanding confirms. ``` -------------------------------- ### Get lifetime extension for a Future Source: https://bloomberg.github.io/rmqcpp/rmqt__future_8h_source.html Provides a function to extend the lifetime of the parent future, ensuring that chained futures remain valid as long as they are needed. This is crucial for managing the lifecycle of asynchronous operations. ```cpp bsl::function getLifetimeExtension() { bsl::function::Impl>&)> func; func = &Future::Impl::extendChainParentLifetime; return bdlf::BindUtil::bind(func, Future::Impl::shared_from_this()); } ``` -------------------------------- ### BloombergLP::rmqt::VHostInfo::VHostInfo Source: https://bloomberg.github.io/rmqcpp/rmqt__vhostinfo_8h_source.html Constructs a VHostInfo object with the specified endpoint and credentials. ```APIDOC ## Constructor VHostInfo ### Description Construct a VHostInfo. ### Signature VHostInfo(const bsl::shared_ptr endpoint, const bsl::shared_ptr credentials) ### Definition rmqt_vhostinfo.cpp:24 ```