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: DestinationHashAnnounceHeard
PersistenceRestored
The recipe’s persistence store was seeded into this boot’s engine before the first frame moved.
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
CommandSettled
LinkEstablished(LinkEstablished)
PeerIdentified
LinkClosed
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.