1use lapin::options::{
4 BasicCancelOptions, BasicConsumeOptions, BasicPublishOptions, ExchangeDeclareOptions, ExchangeDeleteOptions, QueueBindOptions,
5 QueueDeclareOptions, QueueDeleteOptions,
6};
7use lapin::types::FieldTable;
8use lapin::{BasicProperties, ExchangeKind};
9use std::fmt::Debug;
10
11#[derive(Clone, Debug, Default, PartialEq)]
12pub struct CreateExchange<'a> {
13 pub exchange_name: &'a str,
14 pub kind: ExchangeKind,
15 pub options: ExchangeDeclareOptions,
16 pub args: FieldTable,
17}
18
19#[derive(Clone, Debug, Default, PartialEq)]
20pub struct PublishToExchange<'a> {
21 pub exchange_name: &'a str,
22 pub routing_key: &'a str,
23 pub options: BasicPublishOptions,
24 pub payload: &'a [u8],
25 pub properties: BasicProperties,
26}
27
28#[derive(Clone, Debug, Default, PartialEq)]
29pub struct DeleteExchanges<'a> {
30 pub exchange_names: &'a [&'a str],
31 pub options: ExchangeDeleteOptions,
32}
33
34#[derive(Clone, Debug, Default, PartialEq)]
35pub struct CreateQueue<'a> {
36 pub queue_name: &'a str,
37 pub options: QueueDeclareOptions,
38 pub args: FieldTable,
39}
40
41#[derive(Clone, Debug, Default, PartialEq)]
42pub struct BindQueueToExchange<'a> {
43 pub queue_name: &'a str,
44 pub exchange_name: &'a str,
45 pub routing_key: &'a str,
46 pub options: QueueBindOptions,
47 pub args: FieldTable,
48}
49
50#[derive(Clone, Debug, Default, PartialEq)]
51pub struct PublishToRoutingKey<'a> {
52 pub routing_key: &'a str,
53 pub options: BasicPublishOptions,
54 pub payload: &'a [u8],
55 pub properties: BasicProperties,
56}
57
58#[derive(Clone, Debug, Default, PartialEq)]
59pub struct DeleteQueues<'a> {
60 pub queue_names: &'a [&'a str],
61 pub options: QueueDeleteOptions,
62}
63
64#[derive(Clone, Debug, Default, PartialEq)]
65pub struct CreateConsumer<'a> {
66 pub queue_name: &'a str,
67 pub consumer_name: &'a str,
68 pub options: BasicConsumeOptions,
69 pub args: FieldTable,
70}
71
72#[derive(Clone, Debug, Default, PartialEq)]
73pub struct CancelConsumers<'a> {
74 pub consumers_names: &'a [&'a str],
75 pub options: BasicCancelOptions,
76}