Enum salsa::EventKind

source ·
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

Fields

descriptor: DB::QueryDescriptor

The descriptor for the affected value. Implements Debug.

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.

descriptor: DB::QueryDescriptor

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)

WillChangeInputValue

Fields

descriptor: DB::QueryDescriptor

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.

WillExecute

Fields

descriptor: DB::QueryDescriptor

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.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.