trace_recorder_parser/streaming/event/
event_group.rs

1use crate::streaming::event::EventCount;
2use crate::time::Timestamp;
3use crate::types::{EventGroupName, ObjectHandle};
4use derive_more::Display;
5
6#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
7#[display(fmt = "[{timestamp}]:{handle}:0x{event_bits}")]
8pub struct EventGroupCreateEvent {
9    pub event_count: EventCount,
10    pub timestamp: Timestamp,
11
12    pub handle: ObjectHandle,
13    pub name: Option<EventGroupName>,
14    pub event_bits: u32,
15}
16
17#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
18#[display(fmt = "[{timestamp}]:{handle}:0x{bits}")]
19pub struct EventGroupEvent {
20    pub event_count: EventCount,
21    pub timestamp: Timestamp,
22
23    pub handle: ObjectHandle,
24    pub name: Option<EventGroupName>,
25    /// Either bitsToWaitFor or bitsToClear
26    pub bits: u32,
27}
28
29pub type EventGroupSyncEvent = EventGroupEvent;
30pub type EventGroupWaitBitsEvent = EventGroupEvent;
31pub type EventGroupClearBitsEvent = EventGroupEvent;
32pub type EventGroupClearBitsFromIsrEvent = EventGroupEvent;
33pub type EventGroupSetBitsEvent = EventGroupEvent;
34pub type EventGroupSetBitsFromIsrEvent = EventGroupEvent;
35pub type EventGroupSyncBlockEvent = EventGroupEvent;
36pub type EventGroupWaitBitsBlockEvent = EventGroupEvent;