rabbitmq_stream_protocol/
types.rs1#[derive(Debug, PartialEq, Eq)]
2pub struct Header {
3 key: u16,
4 version: u16,
5}
6
7impl Header {
8 pub fn new(key: u16, version: u16) -> Self {
9 Self { key, version }
10 }
11
12 pub fn version(&self) -> u16 {
14 self.version
15 }
16
17 pub fn key(&self) -> u16 {
19 self.key
20 }
21}
22
23use crate::{message::Message, ResponseCode};
24
25#[cfg_attr(test, derive(fake::Dummy))]
26#[derive(Debug, PartialEq, Eq)]
27pub struct PublishedMessage {
28 pub(crate) publishing_id: u64,
29 pub(crate) message: Message,
30 #[cfg_attr(test, dummy(expr = "None"))]
31 pub(crate) filter_value: Option<String>,
32}
33
34impl PublishedMessage {
35 pub fn new(publishing_id: u64, message: Message, filter_value: Option<String>) -> Self {
36 Self {
37 publishing_id,
38 message,
39 filter_value,
40 }
41 }
42
43 pub fn publishing_id(&self) -> u64 {
45 self.publishing_id
46 }
47}
48
49#[cfg_attr(test, derive(fake::Dummy))]
50#[derive(Debug, PartialEq, Eq)]
51pub struct PublishingError {
52 pub publishing_id: u64,
53 pub error_code: ResponseCode,
54}
55
56impl PublishingError {
57 pub fn new(publishing_id: u64, error_code: ResponseCode) -> Self {
58 Self {
59 publishing_id,
60 error_code,
61 }
62 }
63}