summaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/relay.rs
Commit message (Collapse)AuthorAgeFilesLines
* Revert "proto: Add a new ToRelayMsg util"Gabriela Moldovan2026-02-121-13/+0
| | | | | | | | | | This reverts commit 04ab3cd848d7977baf58dd64ebfcad6aa54ecb17. Reverted because we no longer need to "peek" into the opaque `CircChanMsg` of a circuit reactor: now the implementation-dependent part of the reactor is in charge of handling the channel messages, and extracting `Relay` objects out of RELAY/RELAY_EARLY cells, which then get processed in the base reactor.
* proto: Publicly re-export MaybeVerifiableRelayResponderChannelDavid Goulet2026-02-091-0/+2
| | | | | This type is needed in the tor-chanmgr crate in order to decide to verify or not the underlying relay channel.
* proto: Replace relay reactor with new generic reactorGabriela Moldovan2026-01-291-14/+144
|
* proto: Add a new ToRelayMsg utilGabriela Moldovan2026-01-291-0/+13
| | | | | | | | | This will be used in a future commit, inside the new generic circuit reactor. We need it because RELAY cells are handled very similarly, so we need some way of finding out if a given generic chancell is actually a RELAY cell that we can handle in an implementation-agnostic way.
* proto: #[macro_use] be gone!Gabriela Moldovan2025-12-101-0/+2
|
* proto: Move relay specific unit test to relay moduleDavid Goulet2025-12-101-0/+41
| | | | Signed-off-by: David Goulet <[email protected]>
* proto: Move RelayCircChanMsg into relay moduleDavid Goulet2025-12-101-0/+23
| | | | | | This follows the move of the client specific object. Signed-off-by: David Goulet <[email protected]>
* proto: Fix a number of newly broken doc linksGabriela Moldovan2025-11-241-1/+2
|
* proto: Add a Tunnel::Relay variant for StreamTargetGabriela Moldovan2025-11-241-0/+88
|
* proto: Give RelayCirc a DynTimeProviderGabriela Moldovan2025-11-241-0/+5
| | | | This will be needed soon.
* proto: Remove doc ref to private itemGabriela Moldovan2025-10-291-1/+1
|
* proto: Add RelayCirc API for checking if circuit is closedGabriela Moldovan2025-10-291-0/+7
|
* proto: Remove redundant channel from RelayCircGabriela Moldovan2025-10-291-3/+0
| | | | | We don't really need this channel here, because we already have control and command channels for checking if the reactor task is still alive.
* proto: Make RelayCirc publicGabriela Moldovan2025-10-291-1/+1
|
* proto: Rename RelayReatorHandle to RelayCircGabriela Moldovan2025-10-291-2/+2
| | | | | | | | | While this is technically a "reactor handle", I think RelayCirc sounds better, because this is essentially our only public API for interacting with a relay circuit (it will be used outside of tor-proto). (This would also be consistent with our existing ClientCirc client-side terminology).
* proto: Move RelayReactorHandle to relay moduleGabriela Moldovan2025-10-291-0/+15
| | | | This will soon become `pub`, so I am factoring it out of `reactor.rs`.
* proto: Add RelayInitiatorHandshakeDavid Goulet2025-10-231-0/+1
| | | | | | | This implements the relay initiator side of the handshake up to the creation of an unverified channel. Signed-off-by: David Goulet <[email protected]>
* proto: Rename the `tunnel` module to `client`.Gabriela Moldovan2025-08-181-1/+1
| | | | | | The implementation from `tunnel` is client-specific, so we are renaming the module accordingly. The more generic parts will be pulled into a separate module in a future commit.
* proto: Reorganize relay_tunnel module.Gabriela Moldovan2025-08-181-0/+14
This reorganizes the `relay_tunnel` module as per @dgoulet's [suggestion]. [suggestion]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3162/diffs#note_3240092