Crate tor_netdir[−][src]
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 nettwork 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.
Modules
fallback | List of directories that ships with Tor, for initial directory operations. |
params | Implements a usable view of Tor network parameters. |
Structs
NetDir | A view of the Tor directory, suitable for use in building circuits. |
PartialNetDir | A partially build NetDir – it can’t be unwrapped until it has enough information to build safe paths. |
Relay | A view of a relay on the Tor network, suitable for building circuits. |
Enums
Error | An error returned by the network directory code |
WeightRole | Possible ways to weight relays when selecting them a random. |
Traits
MdReceiver | A partial or full network directory that we can download microdescriptors for. |
Type Definitions
Result | A Result using the Error type from the tor-netdir crate |