fluvio_controlplane_metadata/message/
messages.rs1use std::fmt::{self, Display};
7use std::fmt::Debug;
8
9use fluvio_protocol::{Encoder, Decoder};
10
11use super::msg_type::Message;
12
13#[derive(Encoder, Decoder, Debug, Eq, PartialEq, Clone, Default)]
14pub struct Messages<S> {
15 pub messages: Vec<Message<S>>,
16}
17
18impl<S> fmt::Display for Messages<S>
19where
20 S: Display,
21{
22 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
23 write!(f, "[")?;
24 for sm in &self.messages {
25 write!(f, "{sm},")?;
26 }
27 write!(f, "]")
28 }
29}
30
31impl<S> Messages<S> {
32 pub fn new(messages: Vec<Message<S>>) -> Self {
33 Self { messages }
34 }
35
36 pub fn push(&mut self, msg: Message<S>) {
37 self.messages.push(msg);
38 }
39}