Crate tor_netdir
source ·Expand description
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
Modules
testing
testing
NetDirProvider
.Structs
Enums
NetDirProvider
can broadcast to indicate that a change in
the status of its directory.Traits
NetDir
s, 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.