ac64bdea27
The various background daemon tasks that `arti-client` used to spawn are now handled inside their respective crates instead, with functions provided to spawn them that return `TaskHandle`s. This required introducing a new trait, `NetDirProvider`, which steals some functionality from the `DirProvider` trait to enable `tor-circmgr` to depend on it (`tor-circmgr` is a dependency of `tor-dirmgr`, so it can't depend on `DirProvider` directly). While we're at it, we also make some of the tasks wait for events from the `NetDirProvider` instead of sleeping, slightly increasing efficiency. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
README.md
tor-chanmgr
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. (For now, only direct channels are supported.)
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.
License: MIT OR Apache-2.0