pub enum EventKind {
DidValidateMemoizedValue {
database_key: DatabaseKeyIndex,
},
WillBlockOn {
other_runtime_id: RuntimeId,
database_key: DatabaseKeyIndex,
},
WillExecute {
database_key: DatabaseKeyIndex,
},
WillCheckCancellation,
}Expand description
An enum identifying the various kinds of events that can occur.
Variants§
DidValidateMemoizedValue
Occurs when we found that all inputs to a memoized value are up-to-date and hence the value can be re-used without executing the closure.
Executes before the “re-used” value is returned.
Fields
database_key: DatabaseKeyIndexThe database-key for the affected value. Implements Debug.
WillBlockOn
Indicates that another thread (with id other_runtime_id) is processing the
given query (database_key), so we will block until they
finish.
Executes after we have registered with the other thread but before they have answered us.
(NB: you can find the id of the current thread via the
salsa_runtime)
Fields
database_key: DatabaseKeyIndexThe database-key for the affected value. Implements Debug.
WillExecute
Indicates that the function for this query will be executed. This is either because it has never executed before or because its inputs may be out of date.
Fields
database_key: DatabaseKeyIndexThe database-key for the affected value. Implements Debug.
WillCheckCancellation
Indicates that unwind_if_cancelled was called and salsa will check if
the current revision has been cancelled.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EventKind
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnwindSafe for EventKind
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