Expand description
Module exposing the relay circuit reactor subsystem.
See reactor for a description of the overall architecture.
§ForwardReactor
It handles
- unrecognized RELAY cells, by moving them in the forward direction (towards the exit)
- recognized RELAY cells, by splitting each cell into messages, and handling each message individually as described in the table below (Note: since prop340 is not yet implemented, in practice there is only 1 message per cell).
- RELAY_EARLY cells (not yet implemented)
- DESTROY cells (not yet implemented)
- PADDING_NEGOTIATE cells (not yet implemented)
Legend: `F` = "forward reactor", `B` = "backward reactor", `S` = "stream reactor"
| RELAY cmd | Received in | Handled in | Description |
|-------------------|-------------|------------|----------------------------------------|
| DROP | F | F | Passed to PaddingController for |
| | | | validation |
|-------------------|-------------|------------|----------------------------------------|
| EXTEND2 | F | | Handled by instructing the channel |
| | | | provider to launch a new channel, and |
| | | | waiting for the new channel on its |
| | | | outgoing_chan_rx receiver |
| | | | (**not yet implemented**) |
|-------------------|-------------|------------|----------------------------------------|
| TRUNCATE | F | F | (**not yet implemented**) |
| | | | |
|-------------------|-------------|------------|----------------------------------------|
| TODO | | | |
| | | | |Modules§
- backward 🔒
- A relay’s view of the backward (towards the client) state of a circuit.
- forward 🔒
- A relay’s view of the forward (away from the client, towards the exit) state of a circuit.
Structs§
- Reactor 🔒
- The entry point of the circuit reactor subsystem.
- Stream
Handler 🔒 - A handler customizing the relay stream reactor.
Type Aliases§
- Relay
Base 🔒Reactor - Type-alias for the relay base reactor type.