pub enum RwndAction {
AppRead {
bytes: u64,
},
Remaining {
rwnd: u64,
},
}Expand description
The action a rwnd trace instructs the receiver to take at a single step.
At most one action is present per step; a step that only reconfigures the
receive buffer (set_rcv_buf) without any read or observed-remaining update
leaves RwndDecision::action as None.
AppReaddrives the receiver model by simulating the application readingbytesfrom the receive buffer; the resulting rwnd is computed from the buffer state.Remainingskips the simulation and directly enforces an observed rwnd ofrwndbytes — useful for replaying captured traces where only the advertised window is known.
Variants§
AppRead
The simulated application reads this many bytes from the receive buffer at this step.
Remaining
The remaining rwnd value observed immediately after the app consumes data at this step.
Trait Implementations§
Source§impl Clone for RwndAction
impl Clone for RwndAction
Source§fn clone(&self) -> RwndAction
fn clone(&self) -> RwndAction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RwndAction
impl Debug for RwndAction
Source§impl PartialEq for RwndAction
impl PartialEq for RwndAction
impl StructuralPartialEq for RwndAction
Auto Trait Implementations§
impl Freeze for RwndAction
impl RefUnwindSafe for RwndAction
impl Send for RwndAction
impl Sync for RwndAction
impl Unpin for RwndAction
impl UnsafeUnpin for RwndAction
impl UnwindSafe for RwndAction
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreimpl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.