Skip to main content

Module drain_consumer

Module drain_consumer 

Source
Expand description

Core drain consumer (A2 / A3): core dials C2, drains one node stream, and answers on the same stream. C2 never dials core and never sees plaintext.

Per stream: Noise_NK msg1 arrives as a DATA envelope, core answers msg2 as downlink DATA, then every envelope is Noise transport. Each plaintext goes to a CoreHandler together with the node id taken from the stream (never from the payload); the reply is encrypted back down. Every processed seq is ACKed, and a reconnect RESUMEs after the last ACK.

Structs§

DrainConsumer
NodeStream

Type Aliases§

CoreHandler
Core logic for one decrypted inner message. Blocking work is fine: it runs on a blocking thread. Return None for messages that need no reply.