Module link

Module link 

Source

Structs§

Frame
The task id it is for on the receiving side, and the encoded payload.
Wire
A stream plus whatever of it has arrived but not yet been consumed.

Constants§

NODE
The frame that is for the node itself rather than for a task in it. A task id indexes a Vec, so this is a number that cannot be one. It carries what must outlive the task it names - a watch and the death it asked about (crate::world::Event::Node) - and so cannot be addressed to that task.

Functions§

across
What a payload that arrived over conn means on this side. An address is the one value that does not survive a link unchanged: a task the sender called its own is one on the far side here, and a task it reached through this link is one of ours, so the two cases swap and the sender’s conn - a name in its numbering - is discarded. Exact rather than heuristic only because an address is a host type (Addr) a program cannot forge.
bridge
Run a connection as a peer of the node reached through port, answering with the way in to it. The outbound half comes back rather than registering itself, so whoever established the connection holds it before anything can name it: registering by event is a race the caller cannot wait out, since a task that already knows the far address could send first and be told there was no such link.
departs
Whether every address in a payload leaving over conn has an image on the far side - that is, none names a third node. Forwarding one would mean proxying for a link the receiver does not hold, which has its own lifetime and failure questions, so it is refused rather than half-built.
write_frame