pub enum ScheduleKey {
Task(TaskId),
LocalTask(Option<TaskId>, ExecutionId, LocalTaskId),
}Expand description
Identifies a scheduled task, so that a read which is about to wait for it can take it out of the
scheduler queue and execute it inline instead (see PriorityRunner::claim and
execute_read_target_inline).
Variants§
Task(TaskId)
A cached (non-local) task.
LocalTask(Option<TaskId>, ExecutionId, LocalTaskId)
A local task, which is only known within the execution that created it: the non-local task
of that execution (None for a top-level execution, e.g. TurboTasks::run), the
execution and the local task id within it.
ExecutionId alone isn’t unique across concurrent executions (it wraps), but a non-local
task only has one execution at a time, and that execution waits for its local tasks. So the
key is unique, except for two concurrent top-level executions that share a wrapped
ExecutionId.
Trait Implementations§
Source§impl Clone for ScheduleKey
impl Clone for ScheduleKey
impl Copy for ScheduleKey
Source§impl Debug for ScheduleKey
impl Debug for ScheduleKey
impl Eq for ScheduleKey
Source§impl Hash for ScheduleKey
impl Hash for ScheduleKey
Source§impl PartialEq for ScheduleKey
impl PartialEq for ScheduleKey
impl StructuralPartialEq for ScheduleKey
Auto Trait Implementations§
impl Freeze for ScheduleKey
impl RefUnwindSafe for ScheduleKey
impl Send for ScheduleKey
impl Sync for ScheduleKey
impl Unpin for ScheduleKey
impl UnsafeUnpin for ScheduleKey
impl UnwindSafe for ScheduleKey
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DynEq for T
§impl<T> DynPartialEq for T
impl<T> DynPartialEq for T
fn dyn_partial_eq(&self, other: &(dyn Any + 'static)) -> bool
Source§impl<T> DynTaskInputs for T
impl<T> DynTaskInputs for T
fn dyn_type_name(&self) -> &'static str
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
Converts
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> ⓘ
Converts
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