pub struct Callback<'a, 'b, AB: ArrivalBound + ?Sized, CM: JobCostModel + ?Sized> { /* private fields */ }
Expand description
A shallow wrapper type for callbacks to compute the direct and self-interference bounds needed for the round-robin-aware analysis (Theorem 2 of the paper).
Note: this is intentionally not the same type as
bw::Callback, even though they look very
similar, since different assumptions on the wrapped
arrival_bound
are made.
Implementations§
Source§impl<'a, 'b, AB: ArrivalBound + ?Sized, CM: JobCostModel + ?Sized> Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB: ArrivalBound + ?Sized, CM: JobCostModel + ?Sized> Callback<'a, 'b, AB, CM>
Sourcepub fn new(
response_time_bound: Duration,
arrival_bound: &'a AB,
cost_model: &'b CM,
kind: CallbackType,
) -> Callback<'a, 'b, AB, CM>
pub fn new( response_time_bound: Duration, arrival_bound: &'a AB, cost_model: &'b CM, kind: CallbackType, ) -> Callback<'a, 'b, AB, CM>
Create a new wrapper around a given arrival model, cost model, and assumed response-time bound.
NB: the arrival_bound
should conform to the regular
propagation rules as given in Equation (7) in the paper, and
not make any assumptions about busy windows.
Auto Trait Implementations§
impl<'a, 'b, AB, CM> Freeze for Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB, CM> RefUnwindSafe for Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB, CM> Send for Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB, CM> Sync for Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB, CM> Unpin for Callback<'a, 'b, AB, CM>
impl<'a, 'b, AB, CM> UnwindSafe for Callback<'a, 'b, AB, CM>
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> 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