Expand description
§tor-chanmgr
Manage a set of channels on the Tor network.
§Overview
This crate is part of Arti, a project to implement Tor in Rust.
In Tor, a channel is a connection to a Tor relay. It can be direct via TLS, or indirect via TLS over a pluggable transport.
Since a channel can be used for more than one circuit, it’s
important to reuse channels when possible. This crate implements
a ChanMgr type that can be used to create channels on demand,
and return existing channels when they already exist.
§Compile-time features
pt-client– Build with APIs to support pluggable transports.
§Experimental and unstable features
Note that the APIs enabled by these features are NOT covered by semantic versioning1 guarantees: we might break them or remove them between patch versions.
experimental– Build with all experimental features above. (Currently, there are no experimental features in this crate, but there may be some in the future.)
License: MIT OR Apache-2.0
Remember, semantic versioning is what makes various
cargofeatures work reliably. To be explicit: if you wantcargo updateto only make safe changes, then you cannot enable these features. ↩
Modules§
- builder
- Implement a concrete type to build channels over a transport.
- factory
- Traits and code to define different mechanisms for building Channels to different kinds of targets.
- transport
- Code to define the notion of a “Transport” and implement a default transport.
Structs§
- ChanMgr
- An object that remembers a set of live channels, and launches new ones on request.
- Channel
Config - Channel configuration
- Channel
Config Builder - Builder for
ChannelConfig. - Conn
Status - The status of our connection to the internet.
- Conn
Status Events - A stream of
ConnStatusevents describing changes in our connected-ness.
Enums§
- Chan
Provenance - Description of how we got a channel.
- Channel
Usage - The usage that we have in mind when requesting a channel.
- Conn
Blockage - A problem detected while connecting to the Tor network.
- Dormancy
- Dormancy state, as far as the channel manager is concerned
- Error
- An error returned by a channel manager.
Type Aliases§
- Result
- A Result as returned by this crate.