#[non_exhaustive]pub enum CoverStrategy {
Constant {
interval: Duration,
},
Poisson {
rate: f64,
},
None,
}Expand description
How the node generates outbound traffic on top of peashape.
peaveil reuses peashape’s shaping primitive: every
outbound frame is constant-sized and emitted at a constant
(or Poisson-distributed) rate. The metadata-privacy property
peashape provides is the basis for the privacy claims of
peaveil — without it, an observer could distinguish a node
that is exchanging peer samples from a node that is idle
just by watching the wire.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Constant
One frame per fixed interval.
Poisson
Inter-arrival times drawn from Exp(rate), i.e. a
Poisson process of rate rate frames per second.
None
No cover traffic and no constant-rate emission: real (peer-sample) frames are sent as soon as they are produced, with no padding. The application is still responsible for the per-frame size it submits.
Use this when the application does not need
metadata-privacy properties (constant rate, constant
size) and would rather not pay the cover-traffic
bandwidth cost. Both ends of a connection must use the
same strategy and agree on frame_size for the wire
protocol to work.
Trait Implementations§
Source§impl Clone for CoverStrategy
impl Clone for CoverStrategy
Source§fn clone(&self) -> CoverStrategy
fn clone(&self) -> CoverStrategy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more