Wire
Purpose
The capability that moves a cell between two peers over the network — the mix layer's seam to the
floor. The transport domain owns what travels (an indistinguishable Cell) and why (routing it
through the tumblers toward a recipient); the wire owns only the hop: hand this cell to that peer, and
tell me which cells have arrived here. It knows nothing of groups, members, epochs, or the contents of
a cell — it moves fixed-size opaque bytes between addresses. This is a port: it lowers to an interface
the mix layer emits and the host crate binds to an existing peer-to-peer transport (a libp2p swarm);
the gate binds a direct in-memory hand-off.
Operations
send
Given a Peer and a Cell, hands the cell to the network toward that peer; fire and forget.
Result: None
collect
Given the collector Peer, produces the Cells that have arrived at it awaiting handling — those
routed to this peer, in no promised order. Empty when nothing has arrived.
Result: the Cells that have arrived at the collector peer
Notes
The wire is the floor's edge: below it are retransmission, framing, congestion, and connection management, all owned by the bound transport crate and none of them the mix layer's concern. The mix layer assumes only that a sent cell eventually reaches its peer or is lost — never that it is ordered, timely, or private — which is why order and privacy are built above the wire, in the cells and the tumblers, not asked of it.