pub trait Named<BlockNumber, Call, Origin> {
type Address: Codec + MaxEncodedLen + Clone + Eq + EncodeLike + Debug;
type Hasher: Hash;
// Required methods
fn schedule_named(
id: TaskName,
when: DispatchTime<BlockNumber>,
maybe_periodic: Option<Period<BlockNumber>>,
priority: Priority,
origin: Origin,
call: Bounded<Call, Self::Hasher>,
) -> Result<Self::Address, DispatchError>;
fn cancel_named(id: TaskName) -> Result<(), DispatchError>;
fn reschedule_named(
id: TaskName,
when: DispatchTime<BlockNumber>,
) -> Result<Self::Address, DispatchError>;
fn next_dispatch_time(id: TaskName) -> Result<BlockNumber, DispatchError>;
}
Expand description
A type that can be used as a scheduler.
Required Associated Types§
sourcetype Address: Codec + MaxEncodedLen + Clone + Eq + EncodeLike + Debug
type Address: Codec + MaxEncodedLen + Clone + Eq + EncodeLike + Debug
An address which can be used for removing a scheduled task.
Required Methods§
sourcefn schedule_named(
id: TaskName,
when: DispatchTime<BlockNumber>,
maybe_periodic: Option<Period<BlockNumber>>,
priority: Priority,
origin: Origin,
call: Bounded<Call, Self::Hasher>,
) -> Result<Self::Address, DispatchError>
fn schedule_named( id: TaskName, when: DispatchTime<BlockNumber>, maybe_periodic: Option<Period<BlockNumber>>, priority: Priority, origin: Origin, call: Bounded<Call, Self::Hasher>, ) -> Result<Self::Address, DispatchError>
Schedule a dispatch to happen at the beginning of some block in the future.
id
: The identity of the task. This must be unique and will return an error if not.
NOTE: This will request call
to be made available.
sourcefn cancel_named(id: TaskName) -> Result<(), DispatchError>
fn cancel_named(id: TaskName) -> Result<(), DispatchError>
Cancel a scheduled, named task. If periodic, then it will cancel all further instances of that, also.
Will return an Unavailable
error if the id
is invalid.
NOTE: This guaranteed to work only before the point that it is due to be executed. If it ends up being delayed beyond the point of execution, then it cannot be cancelled.
sourcefn reschedule_named(
id: TaskName,
when: DispatchTime<BlockNumber>,
) -> Result<Self::Address, DispatchError>
fn reschedule_named( id: TaskName, when: DispatchTime<BlockNumber>, ) -> Result<Self::Address, DispatchError>
Reschedule a task. For one-off tasks, this dispatch is guaranteed to succeed only if it is executed before the currently scheduled block.
Will return an Unavailable
error if the id
is invalid.
sourcefn next_dispatch_time(id: TaskName) -> Result<BlockNumber, DispatchError>
fn next_dispatch_time(id: TaskName) -> Result<BlockNumber, DispatchError>
Return the next dispatch time for a given task.
Will return an Unavailable
error if the id
is invalid.