Module ids

Source
Expand description

Code to abstract over the notion of relays having one or more identities.

Currently (2022), every Tor relay has exactly two identities: A legacy identity that is based on the SHA-1 hash of an RSA-1024 public key, and a modern identity that is an Ed25519 public key. This code lets us abstract over those types, and over other new types that may exist in the future.

Modules§

by_id 🔒
Define a type for a set of HasRelayIds objects that can be looked up by any of their keys.
set 🔒
Implement a set of RelayId.

Macros§

derive_deftly_driver_RelayIdType 🔒
impl_eq_variant 🔒
Expand to an implementation for PartialEq for a given key type.

Structs§

RelayIdTypeIter
An iterator over the variants of RelayIdType

Enums§

RelayId
A single relay identity.
RelayIdError
An error returned while trying to parse a RelayId.
RelayIdRef
A reference to a single relay identity.
RelayIdType
The type of a relay identity.