pub struct ExtrapolatingCurve { /* private fields */ }
Expand description
An arrival curve that automatically extrapolates and caches extrapolation results using interior mutability.
Implementations§
Trait Implementations§
Source§impl ArrivalBound for ExtrapolatingCurve
impl ArrivalBound for ExtrapolatingCurve
Source§fn number_arrivals(&self, delta: Duration) -> usize
fn number_arrivals(&self, delta: Duration) -> usize
Bound the number of jobs released in any interval of length
delta
.Source§fn steps_iter<'a>(&'a self) -> Box<dyn Iterator<Item = Duration> + 'a>
fn steps_iter<'a>(&'a self) -> Box<dyn Iterator<Item = Duration> + 'a>
Yield the sequence of interval lengths (i.e., values of
delta
in
ArrivalBound::number_arrivals) for which the arrival bound
“steps”, i.e., where it shows an increase in the number of
released jobs. Read moreSource§fn clone_with_jitter(&self, jitter: Duration) -> Box<dyn ArrivalBound>
fn clone_with_jitter(&self, jitter: Duration) -> Box<dyn ArrivalBound>
Clone the arrival model while accounting for added release
jitter. Returns a boxed
dyn
object because the underlying
type may change.Source§fn brute_force_steps_iter<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Duration> + 'a>
fn brute_force_steps_iter<'a>( &'a self, ) -> Box<dyn Iterator<Item = Duration> + 'a>
Same semantics as ArrivalBound::steps_iter, but provided by
a default implementation in the most naive way possible.
Avoid if performance is at all important.
Source§impl Clone for ExtrapolatingCurve
impl Clone for ExtrapolatingCurve
Source§fn clone(&self) -> ExtrapolatingCurve
fn clone(&self) -> ExtrapolatingCurve
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ExtrapolatingCurve
impl !RefUnwindSafe for ExtrapolatingCurve
impl !Send for ExtrapolatingCurve
impl !Sync for ExtrapolatingCurve
impl Unpin for ExtrapolatingCurve
impl !UnwindSafe for ExtrapolatingCurve
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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