8#include <userver/clients/dns/resolver_fwd.hpp>
9#include <userver/utils/fast_pimpl.hpp>
10#include <userver/utils/statistics/writer.hpp>
12#include <userver/rabbitmq_fwd.hpp>
13#include <userver/urabbitmq/broker_interface.hpp>
14#include <userver/urabbitmq/client_settings.hpp>
16USERVER_NAMESPACE_BEGIN
29 :
public std::enable_shared_from_this<
Client>,
37 static std::shared_ptr<
Client>
Create(clients::dns::Resolver& resolver,
const ClientSettings& settings);
42 const Exchange& exchange,
44 utils::Flags<Exchange::
Flags> flags,
45 engine::Deadline deadline
48 void DeclareExchange(
const Exchange& exchange, Exchange::
Type type, engine::Deadline deadline)
override {
52 void DeclareExchange(
const Exchange& exchange, engine::Deadline deadline)
override {
56 void DeclareQueue(
const Queue& queue, utils::Flags<Queue::
Flags> flags, engine::Deadline deadline)
override;
61 const Exchange& exchange,
63 const std::string& routing_key,
64 engine::Deadline deadline
67 void RemoveExchange(
const Exchange& exchange, engine::Deadline deadline)
override;
69 void RemoveQueue(
const Queue& queue, engine::Deadline deadline)
override;
77 const Exchange& exchange,
78 const std::string& routing_key,
79 const std::string& message,
81 engine::Deadline deadline
87 const Exchange& exchange,
88 const std::string& routing_key,
89 const std::string& message,
90 engine::Deadline deadline
96 const Exchange& exchange,
97 const std::string& routing_key,
99 engine::Deadline deadline
102 std::string
Get(
const Queue& queue, utils::Flags<Queue::
Flags> flags, engine::Deadline deadline)
override;
110 const Exchange& exchange,
111 const std::string& routing_key,
112 const std::string& message,
114 engine::Deadline deadline
120 const Exchange& exchange,
121 const std::string& routing_key,
122 const std::string& message,
123 engine::Deadline deadline
129 const Exchange& exchange,
130 const std::string& routing_key,
132 engine::Deadline deadline
145 Client(clients::dns::Resolver& resolver,
const ClientSettings& settings);
149 utils::FastPimpl<ClientImpl, 296, 8> impl_;