use crate::event_payload::{EventPayload, Timestamp};
use std::time::{Duration, SystemTime};
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct LightweightEvent {
pub event_index: usize,
pub thread_id: u32,
pub payload: EventPayload,
}
impl LightweightEvent {
pub fn contains(&self, other: &LightweightEvent) -> bool {
self.payload.contains(&other.payload)
}
pub fn duration(&self) -> Option<Duration> {
self.payload.duration()
}
pub fn start(&self) -> Option<SystemTime> {
self.payload.timestamp().map(|t| t.start())
}
pub fn end(&self) -> Option<SystemTime> {
self.payload.timestamp().map(|t| t.end())
}
pub fn timestamp(&self) -> Option<Timestamp> {
self.payload.timestamp()
}
}