Skip to main content

Module engine

Module engine 

Source

Structs§

AcceptedAnnounce
AllowRequester
RNS 1.4.2 Destination.register_request_handler(..., allowed_list=…), mutated at runtime.
AnnounceCommandCounts
AnnounceIngressCounts
AnnounceNow
Destination.announce(app_data=…, attached_interface=…) as data (RNS 1.4.2 Destination.py).
AnnounceObservation
AnnounceRateState
AnnounceVerifyOwed
Owns the payload because the arrival slot may be recycled before deferred verification completes.
BlackholeIdentityEffect
BlackholeSeedEffect
BlackholeSeedReport
ClassifiedInboundPacket
CloseLink
RNS 1.4.2 Link.teardown.
CommandId
CulledPathRequest
DataPacket
DecryptOwed
Owns the material needed to finish an identity-keyed decrypt after deferred Diffie-Hellman.
DeferredProofSign
DestinationIdentityRetentionEffect
DropRouteEffect
DropRoutesViaEffect
DropRoutesViaOutcome
EncryptOwed
Move-only: it carries the ephemeral secret, which seals exactly one packet.
EngineAnnounceMetricsSnapshot
EngineMetricsSnapshot
EngineProtocolPolicy
EngineState
EstablishLink
RNS 1.4.2 Link(destination).
EstablishLinkEntropy
A fresh X25519 ‖ Ed25519 pair, the same layout an identity persists. Move-only and never shown; consuming it keys exactly one link request, so one draw can never key two.
ExpiredPathRequest
Identify
RNS 1.4.2 Link.identify, initiator-only. Fire-and-forget in the reference: the peer validates it and fires its callback but sends nothing back, no proof and no ack, so there is no delivery confirmation to await and success settles at write time.
IgnoreReasonCounts
IngestIo
InstantMillis
InterfaceAnnounceMetricsSnapshot
InterfaceCounts
InterfaceKindCounts
IssuedCommand
LinkCloseDispatch
LinkEstablished
LinkRequestDispatch
LinkRttOwed
LocalOriginHopCount
PacketReceiptDelivered
PacketToForward
PathFound
PathRequestId
PersistedRouteSignaturePending
ProofOwed
ProofRequest
RatchetDecryptOwed
Owns the ciphertext and candidate secrets needed to finish a deferred ratchet decrypt.
RatchetEntropy
A minted ratchet is 32 CSPRNG bytes used as an X25519 secret (RNS 1.4.2 Identity._generate_ratchet); move-only, deliberately without Debug.
ReemitAnnounce
RequestPath
RNS 1.4.2 Transport.request_path. The structured form of the reference’s await_path poll.
Respond
RouteSnapshot
SendGroup
RNS 1.4.2 Packet(group_destination, data). Note a GROUP cannot prove, so the send is fire-and-forget.
SendGroupEntropy
Move-only and never shown; consuming it seals exactly one packet, so one draw can never key two.
SendRequest
RNS 1.4.2 Link.request(path, data), sub-MDU form; empty data = the reference’s None.
SendSinglePacket
RNS 1.4.2 Packet(destination, data).send() with its PacketReceipt.
SendSinglePacketDispatch
SendSinglePacketEntropy
Move-only and never shown; consuming it seals exactly one packet, so one draw can never key two.
SendToChannel
RNS 1.4.2 Channel.send().
SendToLink
RNS 1.4.2 Packet(link, data).send()
SendToLinkDispatch
SetResourceStrategy
RNS 1.4.2 Link.set_resource_strategy as a command.
SettledPathRequest
UnblackholeIdentityEffect
VerifiedPersistedRoute
WakeSchedules

Enums§

AllowRequesterFailure
AllowRequesterRejection
AnnounceAppData
AnnounceCommandOutcome
AnnounceIngest
AnnounceIngressOutcome
AnnounceNowFailure
AnnounceNowRejection
AnnounceOrigin
AnnounceRejection
AnnounceSourceKind
AnnounceTarget
AnnounceWriteError
AnnounceWriteFailure
CloseLinkFailure
CloseLinkRejection
CommandOutcome
CommandedAnnounceWriteOutcome
DeferredCrypto
DeliveryEvidence
DeliveryProof
Departure
DestinationIdentitySeedOutcome
Directive
An order for something that must now happen outside the engine.
DropRouteOutcome
EgressSerializeError
EngineReaction
EstablishLinkFailure
EstablishLinkRejection
EstablishLinkWriteOutcome
FanTarget
FinishSendSinglePacketOutcome
HeldDropCause
IdentifyFailure
IdentifyRejection
IgnoreReason
IgnoreReasonKind
IngestPacketOutcome
Ingress
Journaled
LinkClosedReason
LinkDataError
LinkMtuDiscovery
LocalHopCountOverride
NextWake
PathRequestWriteOutcome
PathResponseWriteOutcome
PersistedRoutePreflightError
PersistedRouteVerificationError
PersistenceFlushCause
PersistenceFlushTarget
The independently stored half of a persistence flush.
PrnsCommand
ProofForm
ProofIngest
ProofObligation
RatchetPolicy
RNS 1.4.2 Destination.enable_ratchets / Destination.enforce_ratchets. One enum where the reference has two bool flags, so enforcing without ratchets (which would refuse every single packet) is unrepresentable.
RebroadcastDecision
RecursivePathRequestDefault
RequestPathFailure
RequestResponseTimeout
RespondFailure
RespondPayload
RespondRejection
RouteRemovalCause
RouteSeedOutcome
SendGroupFailure
SendGroupRejection
SendGroupWriteError
SendRequestFailure
SendRequestRejection
SendResourceFailure
SendResourceRejection
There is no PrnsCommand::SendResource: resource payloads are borrowed slices far too large for the command lane, so sends enter through the host handle’s send_resource streaming path and only their settlements ride the journal under these names.
SendSinglePacketFailure
SendSinglePacketPrepared
SendSinglePacketRejection
SendSinglePacketWriteError
SendSinglePacketWriteOutcome
SendSinglePacketWriteRejection
SendToChannelFailure
SendToChannelRejection
SendToLinkFailure
SendToLinkRejection
SendToLinkWriteError
SetResourceStrategyFailure
SetResourceStrategyRejection
SetTransportIdentityError
Settlement
Paired verb-for-verb with PrnsCommand: a data boundary erases type-level ties, so the tie is explicit here.
WakeReason
WakeSchedule
WriteEstablishLinkRejection
WriteLinkCloseError
WriteLinkProofError
WriteLinkRttError
WriteProofError
WriteTunnelSynthesizeError

Constants§

DEPARTED_INTERFACE_GRACE_MS
KEEPALIVE_ECHO
KEEPALIVE_REQUEST
LINK_KEEPALIVE_MS
RNS 1.4.2 Link.KEEPALIVE (360s); the responder’s establishment timeout rides on it.
LINK_MDU
MAX_RESPOND_DATA_LEN
MAX_SEND_GROUP_PLAINTEXT_LEN
Conservative: RNS chunks every encrypted destination at one size.
MAX_SEND_REQUEST_DATA_LEN
MAX_SEND_SINGLE_PACKET_PLAINTEXT_LEN
RNS 1.4.2 Packet.ENCRYPTED_MDU: whole AES blocks, less one byte so PKCS7 always has room to pad.
MAX_SEND_TO_CHANNEL_BODY_LEN
MAX_SEND_TO_LINK_PLAINTEXT_LEN
PATH_REQUEST_DESTINATION
RNS derives rnstransport.path.request from the name alone; crate::routing::announce::derive_plain_destination_hash reproduces that derivation.
PATH_REQUEST_ID_LEN
PATH_REQUEST_PAYLOAD_LEN
PATH_REQUEST_TIMEOUT_MS
RNS 1.4.2 Transport.PATH_REQUEST_TIMEOUT (15s): how long a client path request waits for an answer before giving up.

Traits§

Settleable
A command’s *Rejection enum names the reasons ingest refuses it at the door; its *Failure enum is everything the awaiting caller can see, wrapping those same door refusals as Rejected(*Rejection) beside the ways an accepted command can still fail later, where a broken lower layer surfaces as a *Error payload. A command that cannot be refused at the door has no *Rejection, and one with a single refusal reason may inline it.

Functions§

keepalive_ms_from
link_mdu
RNS 1.4.2 Link.update_mdu
stale_ms_from
write_announce_wire_packet
write_explicit_proof_wire_packet
write_implicit_proof_wire_packet
write_keepalive
write_link_close
write_link_proof_wire_packet
Unencrypted per the reference. RNS 1.4.2 Packet.pack exemption (“packet proofs over links are not encrypted”).
write_path_request_wire_packet
RNS 1.4.2 Transport.request_path
write_path_response_announce_wire_packet
RNS 1.4.2 Destination.announce(path_response=True)
write_relayed_path_response_wire_packet
write_retransmitted_announce_wire_packet
RNS 1.4.2 Transport.jobs() announce retransmission

Type Aliases§

AnnounceAppDataBytes
MarkDestinationUsedEffect
PathRequestIdBytes
ReleaseDestinationEffect
RespondData
RetainDestinationEffect
RetainIdentityEffect
SendGroupPayload
SendRequestData
SendSinglePacketPayload
SendToChannelBody
SendToLinkPayload