trace_recorder_parser/streaming/event/
base.rs1use crate::streaming::event::{EventCode, EventCount, EventParameterCount};
2use crate::time::Timestamp;
3use derive_more::Display;
4
5#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
6#[display(
7 fmt = "[{timestamp}]:{}:{}:{event_count}",
8 "self.code.event_id()",
9 "self.code.parameter_count()"
10)]
11pub struct BaseEvent {
12 pub code: EventCode,
13 pub event_count: EventCount,
14 pub timestamp: Timestamp,
15 pub(crate) parameters: [u32; EventParameterCount::MAX],
16}
17
18impl BaseEvent {
19 pub fn parameters(&self) -> &[u32] {
20 let num_params = usize::from(self.code.parameter_count());
22 debug_assert!(num_params <= self.parameters.len());
23 &self.parameters[..num_params]
24 }
25}