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.
solana_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