pub struct ProgressListener { /* private fields */ }std only.Expand description
A registered wake-up from Trunk::listen — the
event_listener::EventListener a ServedEgress
adapter waits on, so a blocked request need not busy-poll. See
The reader-wake primitive.
Releases this Trunk’s bounded waiter slot when dropped (via the
_slot field’s own Drop, see this module’s internal WaiterSlot) — whether this listener
was woken, timed out, or is simply discarded — so a caller that gives up
does not leak a slot forever.
Implementations§
Source§impl ProgressListener
impl ProgressListener
Sourcepub fn wait_deadline(self, deadline: Instant) -> bool
pub fn wait_deadline(self, deadline: Instant) -> bool
Block the calling thread until woken or deadline passes, whichever
comes first — true if woken, false on timeout. Composes with
crate::egress::AwaitPolicy’s deadline: convert
AwaitPolicy::deadline (a Timestamp) to the std::time::Instant
your caller already anchors its Timestamps to (see
Timestamp::from_instant’s inverse — the caller holds the base
Instant it built its Timestamps from) and pass that here, so this
call can never park past the caller’s own bound.
Deliberately no unbounded wait() is exposed here — only this
deadline-bound form and the Future impl below (whose bound is
whatever timeout the caller’s own executor wraps it in, exactly the
hls_runtime::server “caller-driven wait loop” shape) — matching
this crate’s crate::egress::AwaitPolicy philosophy that a wait on
remote-triggerable input must never be able to park forever.