Manage a set of channels on the Tor network.
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.
pt-client
-- Build with APIs to support
pluggable transports.Note that the APIs enabled by these features are NOT covered by semantic versioning[^1] 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.)features work reliably. To be explicit: if you want cargo update
to only make safe changes, then you cannot enable these
features.
License: MIT OR Apache-2.0