pub enum EventKind<DB: Database> {
DidValidateMemoizedValue {
descriptor: DB::QueryDescriptor,
},
WillBlockOn {
other_runtime_id: RuntimeId,
descriptor: DB::QueryDescriptor,
},
WillChangeInputValue {
descriptor: DB::QueryDescriptor,
},
WillExecute {
descriptor: DB::QueryDescriptor,
},
}
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.
WillBlockOn
Fields
other_runtime_id: RuntimeId
The id of the runtime we will block on.
Indicates that another thread (with id other_runtime_id
) is processing the
given query (descriptor
), 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
)
WillChangeInputValue
Indicates that the input value will change after this
callback, e.g. due to a call to set
.
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.