Skip to main content

Diagnostic

Enum Diagnostic 

Source
pub enum Diagnostic {
Show 14 variants SelfRatchetRotated { destination: DestinationHash, }, AnnounceHeard { destination: DestinationHash, hops: u8, source_interface: InterfaceId, }, PersistenceRestored { routes: u32, destination_identities: u32, tunnels: u32, ratchets: u32, refused: u32, dropped: u32, }, PersistenceFlushed { cause: PersistenceFlushCause, target: PersistenceFlushTarget, }, PersistenceFlushFailed { cause: PersistenceFlushCause, target: PersistenceFlushTarget, }, AnnounceHeldDropped { destination: DestinationHash, source_interface: InterfaceId, cause: HeldDropCause, }, CommandSettled { id: CommandId, settlement: Settlement, }, LinkEstablished(LinkEstablished), PeerIdentified { link_id: LinkId, identity: IdentityHash, }, LinkClosed { link_id: LinkId, reason: LinkClosedReason, }, LinkInterfaceMismatch { link_id: LinkId, attached_interface: InterfaceId, arrived_on: InterfaceId, }, ResourceFailed { link_id: LinkId, hash: ResourceHash, cause: ResourceFailureCause, }, ResourceAssembled { link_id: LinkId, original_hash: ResourceHash, total_size_bytes: u64, }, RouteRemoved { destination: DestinationHash, cause: RouteRemovalCause, },
}
Expand description

The control/observability plane: what the engine did, not what arrived. Fully owned — no borrow into the inbound frame, so it can outlive the reaction if an app buffers it.

Variants§

§

SelfRatchetRotated

An announce just minted a fresh self-ratchet: flush this destination’s record to the vault now — a secret peers may already encrypt toward must never exist only in memory.

Fields

§destination: DestinationHash
§

AnnounceHeard

Fields

§destination: DestinationHash
§hops: u8
§source_interface: InterfaceId
§

PersistenceRestored

The recipe’s persistence store was seeded into this boot’s engine before the first frame moved.

Fields

§routes: u32
§destination_identities: u32
§tunnels: u32
§ratchets: u32
§refused: u32
§dropped: u32
§

PersistenceFlushed

The persistence worker landed one independently stored part of a save.

§

PersistenceFlushFailed

The persistence worker could not land one independently stored part of a save.

Storage-specific error detail is written to the host log; this owned diagnostic preserves the stable policy-relevant facts for applications.

§

AnnounceHeldDropped

Fields

§destination: DestinationHash
§source_interface: InterfaceId
§

CommandSettled

Fields

§settlement: Settlement
§

LinkEstablished(LinkEstablished)

§

PeerIdentified

Fields

§link_id: LinkId
§identity: IdentityHash
§

LinkClosed

Fields

§link_id: LinkId
§

LinkInterfaceMismatch

A packet for this active link arrived on arrived_on, not the attached_interface the link runs over — dropped unprocessed (RNS 1.4.2 Link.receive), surfaced as a possible attempt to inject into the link from a foreign interface.

Fields

§link_id: LinkId
§attached_interface: InterfaceId
§arrived_on: InterfaceId
§

ResourceFailed

§

ResourceAssembled

Fields

§link_id: LinkId
§original_hash: ResourceHash
§total_size_bytes: u64
§

RouteRemoved

Fields

§destination: DestinationHash

Trait Implementations§

Source§

impl Debug for Diagnostic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.