pub(crate) struct Push {
pub(crate) release_at: Instant,
pub(crate) entered_backpressure: bool,
}Expand description
What PendingQueue::push did.
Fields§
§release_at: InstantPending::expected_at — the queue’s estimate of when this unit
reaches the wire, which is the value to report as
Effect::Queued { release_at }. It accounts for everything already
queued, so it may be later than the action asked for, and for a unit
behind a Hold it is that hold’s max_hold ceiling: an upper
bound, since a gate may open at any time before it.
Not the unit’s own deadline. That is Pending::due_at, it is
the only thing that gates the unit, and push never rewrites it.
entered_backpressure: booltrue exactly once per stream: on the push after which
PendingQueue::accepts_more first turns false. Emit
Impairment { EgressQueueFull { stream_id } } on it, and only on
it — a queue that drains and fills again does not report twice.
Trait Implementations§
impl Copy for Push
impl Eq for Push
impl StructuralPartialEq for Push
Auto Trait Implementations§
impl Freeze for Push
impl RefUnwindSafe for Push
impl Send for Push
impl Sync for Push
impl Unpin for Push
impl UnsafeUnpin for Push
impl UnwindSafe for Push
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