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,
},
}
An enum identifying the various kinds of events that can occur.
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 of DidValidateMemoizedValue
The descriptor for the affected value. Implements Debug
.
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
)
Fields of WillBlockOn
The id of the runtime we will block on.
The descriptor for the affected value. Implements Debug
.
Indicates that the input value will change after this
callback, e.g. due to a call to set
.
Fields of WillChangeInputValue
The descriptor for the affected value. Implements Debug
.
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 of WillExecute
The descriptor for the affected value. Implements Debug
.
Formats the value using the given formatter. Read more
impl<DB> Send for EventKind<DB> where <DB as DatabaseStorageTypes>::QueryDescriptor: Send, | |
impl<DB> Sync for EventKind<DB> where <DB as DatabaseStorageTypes>::QueryDescriptor: Sync, | |
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Mutably borrows from an owned value. Read more