pub struct InspectManager { /* private fields */ }Implementations§
Source§impl InspectManager
impl InspectManager
pub fn new() -> Self
pub fn submit_category( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, ) -> JobOutcome
pub fn submit_category_with_callgraph( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, callgraph_snapshot: Option<Arc<CallgraphSnapshot>>, ) -> JobOutcome
pub fn submit_background( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, ) -> Result<JobKey, String>
pub fn submit_background_with_callgraph( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, callgraph_snapshot: Option<Arc<CallgraphSnapshot>>, ) -> Result<JobKey, String>
pub fn submit_tier2_run_with_reuse_background( self: &Arc<Self>, snapshot: InspectSnapshot, category: InspectCategory, ) -> Result<JobKey, String>
pub fn submit_tier2_run_with_reuse_serial_background( self: &Arc<Self>, snapshot: InspectSnapshot, categories: Vec<InspectCategory>, ) -> Tier2RunSubmission
pub fn tier2_any_in_flight(&self) -> bool
pub fn drain_completions(&self) -> usize
pub fn cache_for_snapshot( &self, snapshot: &InspectSnapshot, ) -> Result<Arc<InspectCache>, String>
Sourcepub fn latest_tier2_counts(
&self,
inspect_dir: PathBuf,
project_root: PathBuf,
) -> (Option<usize>, Option<usize>, Option<usize>)
pub fn latest_tier2_counts( &self, inspect_dir: PathBuf, project_root: PathBuf, ) -> (Option<usize>, Option<usize>, Option<usize>)
Latest persisted counts for the three Tier-2 categories, in
(dead_code, unused_exports, duplicates) order. Reads the most recent
aggregate regardless of contribution-hash freshness (last-known), so the
agent status bar can refresh after a background scan completes without a
freshness round-trip. A category with no readable aggregate reports
None (never a fabricated 0), so the status bar can preserve any
last-known value and stay suppressed until every category is real (#1).
pub fn cache_for_paths( &self, inspect_dir: PathBuf, project_root: PathBuf, ) -> Result<Arc<InspectCache>, String>
pub fn tier2_run_with_reuse( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, callgraph_snapshot: Option<Arc<CallgraphSnapshot>>, ) -> JobOutcome
Sourcepub fn tier2_read_cached(
&self,
snapshot: InspectSnapshot,
category: InspectCategory,
caller_scope: JobScope,
) -> JobOutcome
pub fn tier2_read_cached( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, ) -> JobOutcome
Read-only Tier 2 aggregate lookup for aft_inspect. Does NOT run any
scanner — returns the latest cached aggregate if present and verifies
its contribution freshness so warm cache hits are reported as fresh.
This is the non-blocking variant intended for the synchronous inspect
command path; Tier 2 scans run via the watcher-driven scheduler or the
compatibility aft_inspect_tier2_run command.
pub fn tier2_read_cached_readonly( &self, snapshot: InspectSnapshot, category: InspectCategory, caller_scope: JobScope, ) -> JobOutcome
Sourcepub fn reuse_completion_count(&self) -> u64
pub fn reuse_completion_count(&self) -> u64
Snapshot the cumulative count of reuse-path (watcher-driven) Tier-2 completions. The main-thread drain compares this against its last-seen value to detect background scans that finished since the previous tick.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for InspectManager
impl !RefUnwindSafe for InspectManager
impl !UnwindSafe for InspectManager
impl Send for InspectManager
impl Sync for InspectManager
impl Unpin for InspectManager
impl UnsafeUnpin for InspectManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more