Skip to main content

Module runtime_drain

Module runtime_drain 

Source

Constants§

BREAKER_TRIP_THRESHOLD
MAX_RETRY_ATTEMPTS
WATCHER_BATCH_INLINE_CAP

Functions§

any_build_in_flight
Return true when any background build-completion receiver is currently set.
delay_search_rebuild_publish_for_debug
drain_build_completions
Drain all background build-completion receivers in standalone order.
drain_callgraph_store_events
Install a background-built callgraph store once its cold build completes. Mirrors drain_search_index_events: drains the receiver, installs the freshest store, replays paths that changed during the build, and clears the receiver. On build failure (channel disconnected with nothing installed) the receiver is cleared so a later op can retry the cold build.
drain_configure_warning_events
drain_inspect_events
drain_lsp_events
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.
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.