Module ipt_mgr

Source
Expand description

IPT Manager

Maintains introduction points and publishes descriptors. Provides a stream of rendezvous requests.

See IptManager::run_once for discussion of the implementation approach.

Re-exports§

pub use crate::ipt_establish::IptError;

Modules§

persist 🔒
Persistent state for the IPT manager

Structs§

Immutable 🔒
Immutable contents of an IPT Manager
Ipt 🔒
One introduction point, representation in memory
IptExpectExistingKeys 🔒
Token telling Ipt::start_establisher to expect existing keys in the keystore
IptManager 🔒
IPT Manager (for one hidden service)
IptRelay 🔒
One selected relay, at which we are establishing (or relavantly advertised) IPTs
IsCurrent 🔒
Token indicating that this introduction point is current (not Retiring)
PromiseLastDescriptorExpiryNoneIsGood 🔒
Token, representing promise by caller of start_establisher
Real 🔒
Mockable state in an IPT Manager - real version
State 🔒
State of an IPT Manager

Enums§

ChooseIptError 🔒
An error that happened while trying to select a relay
CreateIptError 🔒
An error that happened while trying to crate an IPT (at a selected relay)
TrackedStatus 🔒
Last information from establisher about an IPT, with timing info added by us

Constants§

IPT_PUBLISH_CERTAIN 🔒
Expiry time to put on a final descriptor (IPT publication set Certain
IPT_PUBLISH_UNCERTAIN 🔒
Expiry time to put on an interim descriptor (IPT publication set Uncertain)

Traits§

Mockable 🔒
Mockable state for the IPT Manager

Type Aliases§

ErasedIptEstablisher 🔒
Type-erased version of Box<IptEstablisher>