Skip to main content

Module plumbing

Module plumbing 

Source
Expand description

The implementation of the query system itself. This defines the macros that generate the actual methods on tcx which find and execute the provider, manage the caches, and so forth.

StructsΒ§

CycleError
JobOwner πŸ”’
A type representing the responsibility to execute the job in the job field. This will poison the relevant query if dropped.
QueryState
For a particular query, keeps track of β€œactive” keys, i.e. keys whose evaluation has started but has not yet finished successfully.

EnumsΒ§

ActiveKeyStatus πŸ”’
For a particular query and key, tracks the status of a query evaluation that has started, but has not yet finished successfully.
QueryMode

FunctionsΒ§

cycle_error πŸ”’
ensure_must_run πŸ”’
Ensure that either this query has all green inputs or been executed. Executing query::ensure(D) is considered a read of the dep-node D. Returns true if the query should still run.
equivalent_key πŸ”’
execute_job πŸ”’
execute_job_incr πŸ”’
execute_job_non_incr πŸ”’
force_query
get_query_incr
get_query_non_incr
handle_cycle_error πŸ”’
incremental_verify_ich πŸ”’
incremental_verify_ich_failed πŸ”’
incremental_verify_ich_not_green πŸ”’
mk_cycle πŸ”’
try_execute_query πŸ”’
try_get_cached
Checks whether there is already a value for this key in the in-memory query cache, returning that value if present.
try_load_from_disk_and_cache_in_memory πŸ”’
wait_for_query πŸ”’