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§
Sourcefn new(
manager: Weak<dyn DecoyFlowSender>,
settings: Arc<Settings<AE>>,
identity: DerivedValue<T>,
counter: Arc<AtomicU32>,
fallthrough_probability: Option<f64>,
) -> Self
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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".