1use crate::{
2 BasicProperties,
3 types::{LongLongUInt, LongUInt, ShortString, ShortUInt},
4};
5
6#[derive(Clone, Debug, PartialEq)]
7#[deprecated(note = "use lapin instead")]
8pub struct Delivery {
9 #[deprecated(note = "use lapin instead")]
10 pub delivery_tag: LongLongUInt,
11 #[deprecated(note = "use lapin instead")]
12 pub exchange: ShortString,
13 #[deprecated(note = "use lapin instead")]
14 pub routing_key: ShortString,
15 #[deprecated(note = "use lapin instead")]
16 pub redelivered: bool,
17 #[deprecated(note = "use lapin instead")]
18 pub properties: BasicProperties,
19 #[deprecated(note = "use lapin instead")]
20 pub data: Vec<u8>,
21}
22
23impl Delivery {
24 pub(crate) fn new(delivery_tag: LongLongUInt, exchange: ShortString, routing_key: ShortString, redelivered: bool) -> Self {
25 Self {
26 delivery_tag,
27 exchange,
28 routing_key,
29 redelivered,
30 properties: BasicProperties::default(),
31 data: Vec::new(),
32 }
33 }
34
35 pub(crate) fn receive_content(&mut self, data: Vec<u8>) {
36 self.data.extend(data);
37 }
38}
39
40#[derive(Clone, Debug, PartialEq)]
41#[deprecated(note = "use lapin instead")]
42pub struct BasicGetMessage {
43 #[deprecated(note = "use lapin instead")]
44 pub delivery: Delivery,
45 #[deprecated(note = "use lapin instead")]
46 pub message_count: LongUInt,
47}
48
49impl BasicGetMessage {
50 pub(crate) fn new(delivery_tag: LongLongUInt, exchange: ShortString, routing_key: ShortString, redelivered: bool, message_count: LongUInt) -> Self {
51 Self {
52 delivery: Delivery::new(delivery_tag, exchange, routing_key, redelivered),
53 message_count,
54 }
55 }
56}
57
58#[derive(Clone, Debug, PartialEq)]
59#[deprecated(note = "use lapin instead")]
60pub struct BasicReturnMessage {
61 #[deprecated(note = "use lapin instead")]
62 pub delivery: Delivery,
63 #[deprecated(note = "use lapin instead")]
64 pub reply_code: ShortUInt,
65 #[deprecated(note = "use lapin instead")]
66 pub reply_text: ShortString,
67}
68
69impl BasicReturnMessage {
70 pub(crate) fn new(exchange: ShortString, routing_key: ShortString, reply_code: ShortUInt, reply_text: ShortString) -> Self {
71 Self {
72 delivery: Delivery::new(0, exchange, routing_key, false),
73 reply_code,
74 reply_text,
75 }
76 }
77}