arti/crates/tor-chanmgr/README.md

40 lines
1.3 KiB
Markdown
Raw Normal View History

# tor-chanmgr
Manage a set of channels on the Tor network.
## Overview
This crate is part of
[Arti](https://gitlab.torproject.org/tpo/core/arti/), a project to
implement [Tor](https://www.torproject.org/) in Rust.
2021-08-12 14:30:32 +01:00
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
2021-08-12 14:30:32 +01:00
a [`ChanMgr`] type that can be used to create channels on demand,
and return existing channels when they already exist.
2022-09-30 19:27:51 +01:00
## Compile-time features
* `pt-client` -- Build with APIs to support
pluggable transports.
2022-09-30 19:27:51 +01:00
### Experimental and unstable features
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.)
2022-09-30 19:27:51 +01:00
[^1]: Remember, semantic versioning is what makes various `cargo`
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