use std::time::SystemTime;
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
pub struct Annotation {
#[cfg_attr(feature = "serde", serde(with = "crate::time_micros"))]
timestamp: SystemTime,
value: String,
}
impl Annotation {
#[inline]
pub fn new(timestamp: SystemTime, value: &str) -> Annotation {
Annotation {
timestamp,
value: value.to_string(),
}
}
#[inline]
pub fn now(value: &str) -> Annotation {
Annotation::new(SystemTime::now(), value)
}
#[inline]
pub fn timestamp(&self) -> SystemTime {
self.timestamp
}
#[inline]
pub fn value(&self) -> &str {
&self.value
}
}