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: DatabaseKeyIndex
The 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: DatabaseKeyIndex
The 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: DatabaseKeyIndex
The 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