arti/crates/tor-netdir
Alexander Færøy d1658a120e Merge branch 'stderr' into 'main'
lints: Promote clippy::print_stderr and clippy::print_stdout

See merge request tpo/core/arti!1271
2023-06-21 16:41:10 +00:00
..
src lints: Run maint/add_warning to actually apply new lints 2023-06-21 12:15:41 +01:00
Cargo.toml Upgrade to strum 0.25. 2023-06-21 09:12:36 -04:00
README.md Update README.md files (automated). 2022-05-06 09:51:11 -04:00
semver.md netdir, netdoc: Add accessors for protocol version status. 2023-06-06 09:06:01 -04:00

README.md

tor-netdir

Represents a clients'-eye view of the Tor network.

Overview

The tor-netdir crate wraps objects from tor-netdoc, and combines them to provide a unified view of the relays on the network. It is responsible for representing a client's knowledge of the network's state and who is on it.

This crate is part of Arti, a project to implement Tor in Rust. Its purpose is to expose an abstract view of a Tor network and the relays in it, so that higher-level crates don't need to know about the particular documents that describe the network and its properties.

There are two intended users for this crate. First, producers like [tor-dirmgr] create [NetDir] objects fill them with information from the Tor network directory. Later, consumers like [tor-circmgr] use [NetDir]s to select relays for random paths through the Tor network.

Limitations

Only modern consensus methods and microdescriptor consensuses are supported.

License: MIT OR Apache-2.0