#[non_exhaustive]pub enum TelemetryRecord {
Protocol(Box<Event>),
Mls(MlsLifecycleEvent),
MetricsSnapshot(Box<MetricsFrame>),
TransportState(TransportStateEvent),
Routing(Box<RoutingDecision>),
Device(DeviceCapabilitySnapshot),
}Expand description
A single typed telemetry emission.
The name is delegated to the inner payload’s telemetry_name() method so
there is a single source of truth for variant naming.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Protocol(Box<Event>)
A protocol-level event — wraps the existing Event type.
The inner Event is boxed because it is substantially larger than
every other variant; boxing keeps the enum’s footprint flat so
non-Protocol records do not pay the size tax when stored in
collections.
Mls(MlsLifecycleEvent)
An MLS lifecycle event — wraps the existing MlsLifecycleEvent.
MetricsSnapshot(Box<MetricsFrame>)
A periodic snapshot of protocol-wide counters and per-transport
metrics. Boxed to keep the enum footprint flat — the frame carries
inline Vec/stat structs that would otherwise dominate the enum
size and tax every non-snapshot variant.
TransportState(TransportStateEvent)
A single transport-status transition (per-transport, unlike the
protocol-level Event::TransportSwitched).
Routing(Box<RoutingDecision>)
A structured routing decision (supersets Event::Dors*).
Boxed because the score-breakdown vector can carry per-transport
factor details at the Diagnostic verbosity tier.
Device(DeviceCapabilitySnapshot)
A snapshot of local device capability (battery, charging, relay role).
Implementations§
Trait Implementations§
Source§impl Clone for TelemetryRecord
impl Clone for TelemetryRecord
Source§fn clone(&self) -> TelemetryRecord
fn clone(&self) -> TelemetryRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TelemetryRecord
impl RefUnwindSafe for TelemetryRecord
impl Send for TelemetryRecord
impl Sync for TelemetryRecord
impl Unpin for TelemetryRecord
impl UnsafeUnpin for TelemetryRecord
impl UnwindSafe for TelemetryRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more