Skip to main content

Module runtime_drain

Module runtime_drain 

Source

Structs§

DrainBatchOutcome

Constants§

BREAKER_TRIP_THRESHOLD
LSP_EVENT_DRAIN_BATCH_CAP
MAX_RETRY_ATTEMPTS
WATCHER_BATCH_INLINE_CAP
WATCHER_DRAIN_SLICE_BUDGET
WATCHER_PATH_DRAIN_BATCH_CAP

Functions§

any_build_in_flight
Return true when any background build-completion receiver is currently set.
drain_build_completions
Drain all background build-completion receivers in standalone order.
drain_callgraph_store_events
drain_configure_warning_events
drain_deferred_configure_maintenance
drain_inspect_events
drain_lsp_events
drain_lsp_events_bounded
drain_search_index_events
drain_semantic_index_events
drain_semantic_refresh_events
drain_watcher_events
Drain pre-filtered watcher events and apply cache invalidations on the dispatch thread. The watcher filter thread owns notify receive/decode, metadata filtering, ignore matching, root-deleted detection, and path coalescing; this drain only reacts to compact control events and surviving paths because the cache/index state below is not Send.
drain_watcher_events_bounded
mark_semantic_corpus_refresh_success
record_semantic_refresh_transient_failure
refresh_callgraph_store_for_watcher
refresh_corpus_after_ignore_change
refresh_project_after_watcher_rescan
refresh_project_corpus
schedule_semantic_refresh_retry
semantic_corpus_refresh_in_progress
semantic_refresh_circuit_is_open
spawn_search_corpus_refresh
watcher_path_is_callgraph_indexed
A file the callgraph STORE would have indexed at cold-build time. The store indexes every file walk_project_files yields (i.e. any detected language), not just the trigram SOURCE_EXTENSIONS set. Gating the store’s watcher refresh on the narrower trigram set left edits to Java/C/C++/C#/Kotlin/Ruby/ PHP/… (all of which the store extracts calls for) serving stale results until a full rebuild. Mirror cold-build exactly so refresh coverage == index coverage.
watcher_path_is_ignored_by_current_matcher
watcher_path_is_semantic_source
watcher_path_is_source
watcher_path_is_tsconfig
A tsconfig.json / jsconfig.json (including variant names like tsconfig.base.json). A change to any of these can shift TypeScript build membership (which files tsc checks), so the status-bar membership cache must be invalidated. Deliberately broad on the variant suffix and ignorant of extends graphs: the cache is cleared wholesale on a match, and base configs almost always follow the tsconfig*.json naming. Non-standard base names are covered on the next tsconfig.json change or configure.