trace_recorder_parser/streaming/event/
queue.rs

1use crate::streaming::event::EventCount;
2use crate::time::{Ticks, Timestamp};
3use crate::types::{ObjectHandle, QueueName};
4use derive_more::Display;
5
6#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
7#[display(fmt = "[{timestamp}]:{handle}:{queue_length}")]
8pub struct QueueCreateEvent {
9    pub event_count: EventCount,
10    pub timestamp: Timestamp,
11
12    pub handle: ObjectHandle,
13    pub name: Option<QueueName>,
14    pub queue_length: u32,
15}
16
17#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display)]
18#[display(fmt = "[{timestamp}]:{handle}:{messages_waiting}")]
19pub struct QueueEvent {
20    pub event_count: EventCount,
21    pub timestamp: Timestamp,
22
23    pub handle: ObjectHandle,
24    pub name: Option<QueueName>,
25    pub ticks_to_wait: Option<Ticks>,
26    pub messages_waiting: u32,
27}
28
29pub type QueueSendEvent = QueueEvent;
30pub type QueueSendBlockEvent = QueueEvent;
31pub type QueueSendFromIsrEvent = QueueEvent;
32pub type QueueSendFrontEvent = QueueEvent;
33pub type QueueSendFrontBlockEvent = QueueEvent;
34pub type QueueSendFrontFromIsrEvent = QueueEvent;
35pub type QueueReceiveEvent = QueueEvent;
36pub type QueueReceiveBlockEvent = QueueEvent;
37pub type QueueReceiveFromIsrEvent = QueueEvent;
38pub type QueuePeekEvent = QueueEvent;
39pub type QueuePeekBlockEvent = QueueEvent;