packets

val packets: Flow<MeshPacket>(source)

Inbound decoded packets.

The engine decrypts channel payloads transparently; MeshPacket.decoded is always non-null on emission. Filter by decoded.portnum to match specific app payloads.

Buffering and backpressure: the underlying MutableSharedFlow uses extraBufferCapacity = 128 with BufferOverflow.SUSPEND (per ADR-005 / SPEC §4.4). Slow collectors apply backpressure to the engine. If the engine inbox itself fills, the engine drops the oldest queued frame and emits MeshEvent.PacketsDropped with flow = DroppedFlow.Packets on events. Silent loss is forbidden in the public surface — every drop is observable.

Populated by the HandshakeMachine after entering ConnectionState.Connected.