8#include <userver/engine/deadline.hpp>
9#include <userver/utils/flags.hpp>
11#include <userver/urabbitmq/typedefs.hpp>
13USERVER_NAMESPACE_BEGIN
29 utils::Flags<Exchange::
Flags> flags,
30 engine::Deadline deadline) = 0;
34 engine::Deadline deadline) = 0;
38 engine::Deadline deadline) = 0;
46 utils::Flags<Queue::
Flags> flags,
47 engine::Deadline deadline) = 0;
50 virtual void DeclareQueue(
const Queue& queue, engine::Deadline deadline) = 0;
58 virtual void BindQueue(
const Exchange& exchange,
const Queue& queue,
59 const std::string& routing_key,
60 engine::Deadline deadline) = 0;
67 engine::Deadline deadline) = 0;
73 virtual void RemoveQueue(
const Queue& queue, engine::Deadline deadline) = 0;
97 virtual void Publish(
const Exchange& exchange,
const std::string& routing_key,
99 engine::Deadline deadline) = 0;
102 virtual void Publish(
const Exchange& exchange,
const std::string& routing_key,
103 const std::string& message,
104 engine::Deadline deadline) = 0;
123 virtual std::string
Get(
const Queue& queue, utils::Flags<Queue::
Flags> flags,
124 engine::Deadline deadline) = 0;
127 ~IChannelInterface();
147 const std::string& routing_key,
149 engine::Deadline deadline) = 0;
153 const std::string& routing_key,
154 const std::string& message,
155 engine::Deadline deadline) = 0;
158 ~IReliableChannelInterface();