#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use crate::units::Seconds;
#[derive(Copy, Clone, Debug, PartialEq, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct Latency(Seconds);
impl Latency {
pub fn as_secs_f64(&self) -> f64 {
self.0.as_f64()
}
pub fn as_seconds(&self) -> Seconds {
self.0
}
pub fn from_secs_f64(seconds: f64) -> Self {
Self(seconds.into())
}
}
impl From<Seconds> for Latency {
fn from(value: Seconds) -> Self {
Self(value)
}
}
impl From<Latency> for Seconds {
fn from(value: Latency) -> Self {
value.as_seconds()
}
}