pub enum SchedulerStatus {
Unavailable,
Active(InstalledSchedulerBox),
Stale(InstalledSchedulerPoolArc, ResultWithTimings),
}Variants§
Unified scheduler is disabled or installed scheduler is consumed by
InstalledScheduler::wait_for_termination. Note that transition to Self::Unavailable
from {Self::Active, Self::Stale} is one-way (i.e. one-time) unlike Self::Active
<=> Self::Stale below. Also, this variant is transiently used as a placeholder
internally when transitioning scheduler statuses, which isn’t observable unless panic is
happening.
Active(InstalledSchedulerBox)
Scheduler is installed into a bank; could be running or just be waiting for additional
transactions. This will be transitioned to Self::Stale after certain time (i.e.
atlas_unified_scheduler_pool::DEFAULT_TIMEOUT_DURATION) has passed if its bank hasn’t
been frozen since installed.
Stale(InstalledSchedulerPoolArc, ResultWithTimings)
Scheduler has yet to freeze its associated bank even after it’s taken too long since
installed, resulting in returning the scheduler back to the pool. Later, this can
immediately (i.e. transparently) be transitioned to Self::Active as soon as there’s new
transaction to be executed (= BankWithScheduler::schedule_transaction_executions is
called, which internally calls BankWithSchedulerInner::with_active_scheduler to make
the transition happen).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SchedulerStatus
impl !RefUnwindSafe for SchedulerStatus
impl Send for SchedulerStatus
impl Sync for SchedulerStatus
impl Unpin for SchedulerStatus
impl !UnwindSafe for SchedulerStatus
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
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> 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>
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>
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