Skip to main content

Module relay

Module relay 

Source
Expand description

This module contains a WIP relay tunnel reactor.

The initial version will duplicate some of the logic from the client tunnel reactor.

TODO(relay): refactor the relay tunnel to share the same base tunnel implementation as the client tunnel (to reduce code duplication).

See the design notes at doc/dev/notes/relay-reactor.md

Modulesยง

channel ๐Ÿ”’
Relay channel code.
channel_provider
Module exposing the ChannelProvider trait.
reactor ๐Ÿ”’
Module exposing the relay circuit reactor subsystem.

Structsยง

CircNetParameters
Network consensus parameters for handling incoming circuits.
CongestionControlNetParams
Congestion control network parameters.
CreateRequestHandler
Everything needed to handle CREATE* messages on channels.
RelayCirc
A handle for interacting with a relay circuit.

Enumsยง

MaybeVerifiableRelayResponderChannel
An enum combining both the possibility of a verifiable (relay) or non verifiable channel (client/bridge).
RelayCircChanMsg ๐Ÿ”’
A subclass of ChanMsg that can correctly arrive on a live relay circuit (one where a CREATE* has been received).