arti/crates/tor-chanmgr
Nick Mathewson 40ec12b0cb Merge branch 'guards_as_bridges_part1' into 'main'
Allow GuardMgr to expose bridges as guards (part 1)

See merge request tpo/core/arti!785
2022-10-24 13:30:02 +00:00
..
src Merge branch 'guards_as_bridges_part1' into 'main' 2022-10-24 13:30:02 +00:00
Cargo.toml chanmgr: Add the code necessary to use SOCKS PTs via a TransportHelper 2022-10-20 08:11:00 -04:00
README.md Update README.md files. 2022-09-30 15:19:48 -04:00
semver.md Have ChannelBuilder use TransportHelper. 2022-10-13 08:36:05 -04:00

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.

Compile-time features

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.

  • pt-client -- Build with (as yet unimplemented) APIs to support pluggable transports.

  • experimental -- Build with all experimental features above.

License: MIT OR Apache-2.0


  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. ↩︎