Expand description
A maybenot-specific backend for padding.
ModulesΒ§
StructsΒ§
- Blocking
State π - Current padding-related blocking status for a circuit.
- Circuit
Padder - A opaque handle to a padding implementation for a single hop.
- Circuit
Padder Config - Builder for
PaddingRules. - Padding
Controller π - A handle to the padding state of a single circuit.
- Padding
Event πStream - A stream of
PaddingEventto tell a circuit when (if at all) it should send padding and block traffic. - Padding
Rules π - Specifications for a set of maybenot padding machines as used in Arti: used to construct a
maybenot::Framework. - Padding
Shared π - The shared state for a single circuitβs padding.
- Padding
Stats π - The number of padding and non-padding cells we have received from each hop, and the rules for how many are allowed.
- Queued
Cell πPadding Info - Information about a queued cell that we need to feed back into the padding subsystem.
- Send
Padding π - An indication that we should send a padding cell.
- Start
Blocking π - An instruction to start blocking traffic or to change the rules for blocking traffic.
EnumsΒ§
- Bypass π
- Whether a piece of padding can bypass a bypassable case of blocking.
- Circuit
Padder Config Error - An error returned from validating a
CircuitPadderConfig. - Padding
Event π - An instruction from the padding machine to the circuit.
- PerHop
Padding πEvent - An instruction from a single padding hop.
- Replace π
- Whether a given piece of padding can be replaced with queued data.
ConstantsΒ§
- MAX_
HOPS π - Absolute upper bound for number of hops.
FunctionsΒ§
- hopnum_
from_ πhop_ idx - Construct a HopNum from an index into the
hopsfield of aPaddingShared. - new_
padding π - Create a new, empty padding instance for a new circuit.
Type AliasesΒ§
- Duration π
- The type of Duration that weβll use for our padding machines.
- Instant π
- The type of Instant that weβll use for our padding machines.
- Padding
Event πQueue - A type we use to generate a set of
PaddingEvent. - PerHop
Padding πEvent Vec - A type we use to generate a set of
PaddingEvent.