Skip to main content

DecoyCommunicationMode

Trait DecoyCommunicationMode 

Source
pub trait DecoyCommunicationMode<T: IdentityType + Clone, AE: AsyncExecutor>: DecoyProvider + Sized {
    // Required method
    fn new(
        manager: Weak<dyn DecoyFlowSender>,
        settings: Arc<Settings<AE>>,
        identity: DerivedValue<T>,
        counter: Arc<AtomicU32>,
        fallthrough_probability: Option<f64>,
    ) -> Self;

    // Provided method
    fn name() -> &'static str { ... }
}
Expand description

Construction contract for decoy providers. Extends DecoyProvider so that any DecoyCommunicationMode can be stored as Box<dyn DecoyProvider>.

Required Methods§

Source

fn new( manager: Weak<dyn DecoyFlowSender>, settings: Arc<Settings<AE>>, identity: DerivedValue<T>, counter: Arc<AtomicU32>, fallthrough_probability: Option<f64>, ) -> Self

Create a new decoy provider; counter is the per-session monotonic packet-number counter shared with the session manager and the health-check provider; every emitted decoy packet advances it. fallthrough_probability pins the per-flow fallthrough rate, None samples from the settings keys.

Provided Methods§

Source

fn name() -> &'static str

Short name of this provider, derived from the type name (no path, no generics).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§