arti/crates/tor-chanmgr
Nick Mathewson 3acdf102c7 Increment patchlevel versions of crates with minor changes
These crates are at version 0.x.y, so we don't need to distinguish
new-feature changes from other changes:

```
tor-basic-utils
fs-mistrust
tor-error
tor-geoip
tor-checkable
tor-linkspec
tor-netdoc
tor-netdir
tor-persist
tor-ptmgr
tor-hsservice
```

This crate has a breaking change, but only when the semver-breaking
feature `experimental-api` is enabled:

```
tor-config
```

This crate is at version 1.x.y, but has no new public APIs, and
therefore does not need a minor version bump:

```
arti
```
2023-08-01 10:57:55 -04:00
..
src Fix a pair of rustdoc links in chanmgr. 2023-07-19 11:57:55 -04:00
Cargo.toml Increment patchlevel versions of crates with minor changes 2023-08-01 10:57:55 -04:00
README.md Remove message 'For now, only direct channels are supported' in tor-chanmgr docs 2023-06-21 17:29:11 +05:30

README.md

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


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