pub struct Batch {
held: Vec<SeatUpdate>,
opened: Option<Instant>,
quiet: Option<Instant>,
}Expand description
The updates waiting for one write, and when they have waited long enough.
Fields§
§held: Vec<SeatUpdate>§opened: Option<Instant>When the first held update landed, which the ceiling counts from.
quiet: Option<Instant>When the window the last arrival opened closes.
Implementations§
Source§impl Batch
impl Batch
Sourcepub fn push(&mut self, at: Instant, frame: SeatUpdate)
pub fn push(&mut self, at: Instant, frame: SeatUpdate)
Hold one update, and hold the window open from its arrival.
The frame carries the number its seat minted, so what the client reads off the wire says which frames of the seat’s stream this write stands for.
Sourcepub fn due(&self) -> Option<Instant>
pub fn due(&self) -> Option<Instant>
When the held updates go out: the window the last arrival opened, unless the ceiling is nearer.
None with nothing held, which is what keeps a caller from waiting on
a timer it has no reason to arm.
Sourcepub fn take(&mut self) -> Vec<SeatUpdate>
pub fn take(&mut self) -> Vec<SeatUpdate>
Take what is held, leaving the batch empty.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Batch
impl RefUnwindSafe for Batch
impl Send for Batch
impl Sync for Batch
impl Unpin for Batch
impl UnsafeUnpin for Batch
impl UnwindSafe for Batch
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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