8#include <userver/engine/deadline.hpp>
9#include <userver/utils/flags.hpp>
11#include <userver/urabbitmq/typedefs.hpp>
13USERVER_NAMESPACE_BEGIN
29 const Exchange& exchange,
32 engine::Deadline deadline
36 virtual void DeclareExchange(
const Exchange& exchange, Exchange::
Type type, engine::Deadline deadline) = 0;
39 virtual void DeclareExchange(
const Exchange& exchange, engine::Deadline deadline) = 0;
49 virtual void DeclareQueue(
const Queue& queue, engine::Deadline deadline) = 0;
58 const Exchange& exchange,
60 const std::string& routing_key,
61 engine::Deadline deadline
68 virtual void RemoveExchange(
const Exchange& exchange, engine::Deadline deadline) = 0;
74 virtual void RemoveQueue(
const Queue& queue, engine::Deadline deadline) = 0;
99 const Exchange& exchange,
100 const std::string& routing_key,
101 const std::string& message,
103 engine::Deadline deadline
108 const Exchange& exchange,
109 const std::string& routing_key,
110 const std::string& message,
111 engine::Deadline deadline
131 virtual std::string
Get(
const Queue& queue,
utils::Flags<Queue::
Flags> flags, engine::Deadline deadline) = 0;
134 ~IChannelInterface();
154 const Exchange& exchange,
155 const std::string& routing_key,
156 const std::string& message,
158 engine::Deadline deadline
163 const Exchange& exchange,
164 const std::string& routing_key,
165 const std::string& message,
166 engine::Deadline deadline
170 ~IReliableChannelInterface();