Crate tor_netdir
source · [−]Expand description
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 NetDirs to select relays for random
paths through the Tor network.
Limitations
Only modern consensus methods and microdescriptor consensuses are supported.
Modules
testingStructs
Enums
NetDirProvider can broadcast to indicate that a change in
the status of its directory.Traits
NetDirs, as well as inform consumers when
they might have changed.Arc<X> to be upcast to a Arc<dyn NetDirProvider> if X is an implementation or supertrait of NetDirProvider.