1use crate::Message;
2
3use std::time::Duration;
4
5#[derive(Debug, Eq, PartialEq)]
7pub enum Event {
8 Retry(Duration),
10 Message(Message),
12}
13
14impl Event {
15 pub(crate) fn new_msg(name: String, data: Vec<u8>, id: Option<String>) -> Self {
17 Self::Message(Message { name, data, id })
18 }
19
20 pub(crate) fn new_retry(dur: u64) -> Self {
22 Self::Retry(Duration::from_secs_f64(dur as f64))
23 }
24
25 pub fn is_retry(&self) -> bool {
27 match *self {
28 Self::Retry(_) => true,
29 _ => false,
30 }
31 }
32
33 pub fn is_message(&self) -> bool {
35 match *self {
36 Self::Message(_) => true,
37 _ => false,
38 }
39 }
40}