rings_core/measure/
counter.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
3pub enum MeasureCounter {
4 Sent,
6 FailedToSend,
8 Received,
10 FailedToReceive,
12 Connect,
14 Disconnected,
16}
17
18impl MeasureCounter {
19 pub const fn from_event(event: rings_measure::MeasurementEvent) -> Self {
21 match event {
22 rings_measure::MeasurementEvent::Connected => Self::Connect,
23 rings_measure::MeasurementEvent::Disconnected => Self::Disconnected,
24 rings_measure::MeasurementEvent::Sent { .. } => Self::Sent,
25 rings_measure::MeasurementEvent::FailedToSend => Self::FailedToSend,
26 rings_measure::MeasurementEvent::Received { .. } => Self::Received,
27 rings_measure::MeasurementEvent::FailedToReceive => Self::FailedToReceive,
28 }
29 }
30
31 pub const fn into_event(self) -> rings_measure::MeasurementEvent {
35 match self {
36 Self::Sent => rings_measure::MeasurementEvent::Sent { useful_bytes: 0 },
37 Self::FailedToSend => rings_measure::MeasurementEvent::FailedToSend,
38 Self::Received => rings_measure::MeasurementEvent::Received { useful_bytes: 0 },
39 Self::FailedToReceive => rings_measure::MeasurementEvent::FailedToReceive,
40 Self::Connect => rings_measure::MeasurementEvent::Connected,
41 Self::Disconnected => rings_measure::MeasurementEvent::Disconnected,
42 }
43 }
44}