falco_event/events/
event.rs1use crate::events::to_bytes::EventToBytes;
2use crate::events::{EventMetadata, PayloadToBytes};
3use std::fmt::{Debug, Formatter};
4use std::io::Write;
5
6#[derive(Clone)]
7pub struct Event<T> {
8 pub metadata: EventMetadata,
9 pub params: T,
10}
11
12impl<T: Debug> Debug for Event<T> {
13 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
14 write!(f, "{:?} {:?}", self.metadata, self.params)
15 }
16}
17
18impl<T: PayloadToBytes> EventToBytes for Event<T> {
19 fn binary_size(&self) -> usize {
20 26 + self.params.binary_size()
21 }
22
23 fn write<W: Write>(&self, writer: W) -> std::io::Result<()> {
24 self.params.write(&self.metadata, writer)
25 }
26}