[−][src]Crate salsa
The salsa crate is a crate for incremental recomputation. It permits you to define a "database" of queries with both inputs and values derived from those inputs; as you set the inputs, you can re-execute the derived queries and it will try to re-use results from previous invocations as appropriate.
Modules
debug | Debugging APIs: these are meant for use when unit-testing or debugging your application but aren't ordinarily needed. |
Structs
CycleError | The error returned when a query could not be resolved due to a cycle |
Durability | Describes how likely a value is to change -- how "durable" it is.
By default, inputs have |
Event | The |
InternId | The "raw-id" is used for interned keys in salsa -- it is basically a newtype'd u32. Typically, it is wrapped in a type of your own devising. For more information about interned keys, see the interned key RFC. |
QueryTable | Return value from [the |
QueryTableMut | Return value from the |
Runtime | The salsa runtime stores the storage for all queries as well as tracking the query stack and dependencies between cycles. |
RuntimeId | A unique identifier for a particular runtime. Each time you create
a snapshot, a fresh |
Snapshot | Simple wrapper struct that takes ownership of a database |
SweepStrategy | The sweep strategy controls what data we will keep/discard when we
do a GC-sweep. The default ( |
Enums
EventKind | An enum identifying the various kinds of events that can occur. |
Traits
Database | The base trait which your "query context" must implement. Gives access to the salsa runtime, which you must embed into your query context (along with whatever other state you may require). |
InternKey | Trait implemented for the "key" that results from a
|
ParallelDatabase | Indicates a database that also supports parallel query
evaluation. All of Salsa's base query support is capable of
parallel execution, but for it to work, your query key/value types
must also be |
Query | Trait implements by all of the "special types" associated with each of your queries. |