#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum MeasureCounter {
Sent,
FailedToSend,
Received,
FailedToReceive,
Connect,
Disconnected,
}
impl MeasureCounter {
pub const fn from_event(event: rings_measure::MeasurementEvent) -> Self {
match event {
rings_measure::MeasurementEvent::Connected => Self::Connect,
rings_measure::MeasurementEvent::Disconnected => Self::Disconnected,
rings_measure::MeasurementEvent::Sent { .. } => Self::Sent,
rings_measure::MeasurementEvent::FailedToSend => Self::FailedToSend,
rings_measure::MeasurementEvent::Received { .. } => Self::Received,
rings_measure::MeasurementEvent::FailedToReceive => Self::FailedToReceive,
}
}
pub const fn into_event(self) -> rings_measure::MeasurementEvent {
match self {
Self::Sent => rings_measure::MeasurementEvent::Sent { useful_bytes: 0 },
Self::FailedToSend => rings_measure::MeasurementEvent::FailedToSend,
Self::Received => rings_measure::MeasurementEvent::Received { useful_bytes: 0 },
Self::FailedToReceive => rings_measure::MeasurementEvent::FailedToReceive,
Self::Connect => rings_measure::MeasurementEvent::Connected,
Self::Disconnected => rings_measure::MeasurementEvent::Disconnected,
}
}
}