pub struct Scheduler { /* private fields */ }Expand description
Sorted timer heap.
Implementations§
Source§impl Scheduler
impl Scheduler
Sourcepub fn set_cap(&mut self, cap: usize)
pub fn set_cap(&mut self, cap: usize)
Override the timer heap cap. Production paths size from
NodeConfig if the host advertises a different bound.
Sourcepub fn schedule(&mut self, maturity_ns: u64, kind: TimerKind)
pub fn schedule(&mut self, maturity_ns: u64, kind: TimerKind)
Schedule a timer. Drops with a tracing::warn once the
heap reaches its cap so a runaway Interval/After loop
can’t grow the heap to OOM.
Sourcepub fn has_matured(&self, now_ns: u64) -> bool
pub fn has_matured(&self, now_ns: u64) -> bool
Whether any timer has matured by now_ns.
Sourcepub fn poll_matured(&mut self, now_ns: u64) -> Vec<TimerKind>
pub fn poll_matured(&mut self, now_ns: u64) -> Vec<TimerKind>
Drain every timer whose maturity_ns <= now_ns in age order.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scheduler
impl RefUnwindSafe for Scheduler
impl Send for Scheduler
impl Sync for Scheduler
impl Unpin for Scheduler
impl UnsafeUnpin for Scheduler
impl UnwindSafe for Scheduler
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
impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request