8#include <userver/engine/deadline.hpp>
9#include <userver/utils/flags.hpp>
11#include <userver/urabbitmq/typedefs.hpp>
13USERVER_NAMESPACE_BEGIN
30 engine::Deadline deadline) = 0;
34 engine::Deadline deadline) = 0;
38 engine::Deadline deadline) = 0;
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;
107 ~IChannelInterface();
127 const std::string& routing_key,
129 engine::Deadline deadline) = 0;
133 const std::string& routing_key,
134 const std::string& message,
135 engine::Deadline deadline) = 0;
138 ~IReliableChannelInterface();