pub struct BimodalLatency { /* private fields */ }Expand description
Bimodal latency model - Models fast path and slow path
Implementations§
Source§impl BimodalLatency
impl BimodalLatency
Sourcepub fn new(
fast_latency: Box<dyn LatencyModel>,
slow_latency: Box<dyn LatencyModel>,
fast_probability: f64,
) -> Self
pub fn new( fast_latency: Box<dyn LatencyModel>, slow_latency: Box<dyn LatencyModel>, fast_probability: f64, ) -> Self
Create a new bimodal latency model with fast and slow paths
Sourcepub fn with_seed(
fast_latency: Box<dyn LatencyModel>,
slow_latency: Box<dyn LatencyModel>,
fast_probability: f64,
seed: u64,
) -> Self
pub fn with_seed( fast_latency: Box<dyn LatencyModel>, slow_latency: Box<dyn LatencyModel>, fast_probability: f64, seed: u64, ) -> Self
Create a bimodal latency model with a specific seed for reproducibility
Trait Implementations§
Source§impl LatencyModel for BimodalLatency
impl LatencyModel for BimodalLatency
Source§fn get_latency_ns(&self) -> u64
fn get_latency_ns(&self) -> u64
Get the next latency value in nanoseconds
Source§fn avg_latency_ns(&self) -> u64
fn avg_latency_ns(&self) -> u64
Get the average latency
Source§fn clone_box(&self) -> Box<dyn LatencyModel>
fn clone_box(&self) -> Box<dyn LatencyModel>
Clone the latency model
Auto Trait Implementations§
impl Freeze for BimodalLatency
impl !RefUnwindSafe for BimodalLatency
impl Send for BimodalLatency
impl Sync for BimodalLatency
impl Unpin for BimodalLatency
impl !UnwindSafe for BimodalLatency
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more