trace_recorder_parser/streaming/event/
mutex.rs1use crate::streaming::event::EventCount;
2use crate::time::{Ticks, Timestamp};
3use crate::types::{MutexName, ObjectHandle};
4use derive_more::Display;
5
6#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
7#[display(fmt = "[{timestamp}]:{handle}")]
8pub struct MutexCreateEvent {
9 pub event_count: EventCount,
10 pub timestamp: Timestamp,
11
12 pub handle: ObjectHandle,
13 pub name: Option<MutexName>,
14}
15
16#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
17#[display(fmt = "[{timestamp}]:{handle}")]
18pub struct MutexEvent {
19 pub event_count: EventCount,
20 pub timestamp: Timestamp,
21
22 pub handle: ObjectHandle,
23 pub name: Option<MutexName>,
24 pub ticks_to_wait: Option<Ticks>,
25}
26
27pub type MutexGiveEvent = MutexEvent;
28pub type MutexGiveBlockEvent = MutexEvent;
29pub type MutexGiveRecursiveEvent = MutexEvent;
30pub type MutexTakeEvent = MutexEvent;
31pub type MutexTakeBlockEvent = MutexEvent;
32pub type MutexTakeRecursiveEvent = MutexEvent;
33pub type MutexTakeRecursiveBlockEvent = MutexEvent;