arti/crates/tor-circmgr
Ian Jackson 90f86b47e4 Replace manual Debug impl with std derive in tor-circmgr
When I wrote this, I arranged to skip dumping the field `pending`.
This must have been because I thought that either

(a) PendingEntry couldn't `#[derive(Debug)]` (but it can)

and/or

(b) Some of the fields of PendingEntry ought not to be dumped because
they might contain (eg) packet data.  But I think they don't: there's
just the spec, and the Result which is (basically) a Circ.

I tried preseving something closer to the original using educe, but
educe gets somehow tangled up with the generics, and the result fails
to compile.  I haven't investigated this further.
2022-03-02 17:04:07 +00:00
..
src Replace manual Debug impl with std derive in tor-circmgr 2022-03-02 17:04:07 +00:00
Cargo.toml Bump all crates to 0.1.0 2022-03-01 08:59:34 -05:00
README.md Update our disclaimers and limitations sections. 2021-10-27 11:13:46 -04:00

README.md

tor-circmgr

tor-circmgr: circuits through the Tor network on demand.

Overview

This crate is part of Arti, a project to implement Tor in Rust.

In Tor, a circuit is an encrypted multi-hop tunnel over multiple relays. This crate's purpose, long-term, is to manage a set of circuits for a client. It should construct circuits in response to a client's needs, and preemptively construct circuits so as to anticipate those needs. If a client request can be satisfied with an existing circuit, it should return that circuit instead of constructing a new one.

Limitations

But for now, this tor-circmgr code is extremely preliminary; its data structures are all pretty bad, and it's likely that the API is wrong too.

License: MIT OR Apache-2.0