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.
CircuitIncomingStreamReceiver
A receiver of Streams (one for each incoming circuit), where each Stream produces IncomingStreams for that circuit.
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).

Traitsยง

IncomingStreamRequestFilterFactory
An IncomingStreamRequestFilter factory for building IncomingStreamRequestFilters.