pub struct StringTracker { /* private fields */ }Expand description
Thread-safe, bounded in-memory string tracker.
Implementations§
Source§impl StringTracker
impl StringTracker
Sourcepub fn with_config(config: AnalysisConfig) -> AnalysisResult<Self>
pub fn with_config(config: AnalysisConfig) -> AnalysisResult<Self>
Create a tracker with built-in components and validated limits.
Sourcepub fn with_components(
analyzer: Box<dyn StringAnalyzer>,
categorizer: Box<dyn Categorizer>,
) -> Self
pub fn with_components( analyzer: Box<dyn StringAnalyzer>, categorizer: Box<dyn Categorizer>, ) -> Self
Create a tracker with custom components and default limits.
Sourcepub fn with_components_and_config(
analyzer: Box<dyn StringAnalyzer>,
categorizer: Box<dyn Categorizer>,
config: AnalysisConfig,
) -> AnalysisResult<Self>
pub fn with_components_and_config( analyzer: Box<dyn StringAnalyzer>, categorizer: Box<dyn Categorizer>, config: AnalysisConfig, ) -> AnalysisResult<Self>
Create a tracker with custom components and validated limits.
Sourcepub fn config(&self) -> &AnalysisConfig
pub fn config(&self) -> &AnalysisConfig
Return this tracker’s immutable configuration.
Sourcepub fn track_string(
&self,
value: &str,
file_path: &str,
file_hash: &str,
tool_name: &str,
context: StringContext,
) -> AnalysisResult<()>
pub fn track_string( &self, value: &str, file_path: &str, file_hash: &str, tool_name: &str, context: StringContext, ) -> AnalysisResult<()>
Track an occurrence using the current UTC time.
Sourcepub fn track_occurrence(
&self,
value: &str,
occurrence: StringOccurrence,
) -> AnalysisResult<()>
pub fn track_occurrence( &self, value: &str, occurrence: StringOccurrence, ) -> AnalysisResult<()>
Track an occurrence with a caller-supplied event timestamp.
Sourcepub fn track_strings(
&self,
strings: &[String],
file_path: &str,
file_hash: &str,
tool_name: &str,
) -> AnalysisResult<()>
pub fn track_strings( &self, strings: &[String], file_path: &str, file_hash: &str, tool_name: &str, ) -> AnalysisResult<()>
Track a batch and infer a context for each value.
The operation is sequential rather than transactional: if a later value fails validation or reaches capacity, earlier values remain tracked.
Sourcepub fn track_strings_from_results(
&self,
strings: &[String],
file_path: &str,
file_hash: &str,
tool_name: &str,
) -> AnalysisResult<()>
pub fn track_strings_from_results( &self, strings: &[String], file_path: &str, file_hash: &str, tool_name: &str, ) -> AnalysisResult<()>
Compatibility alias for StringTracker::track_strings.
Sourcepub fn get_statistics(
&self,
filter: Option<&StringFilter>,
) -> AnalysisResult<StringStatistics>
pub fn get_statistics( &self, filter: Option<&StringFilter>, ) -> AnalysisResult<StringStatistics>
Calculate deterministic statistics for an optional validated filter.
Sourcepub fn get_string_details(&self, value: &str) -> Option<StringEntry>
pub fn get_string_details(&self, value: &str) -> Option<StringEntry>
Return a cloned entry for an exact value.
Sourcepub fn search_strings(
&self,
query: &str,
limit: usize,
) -> AnalysisResult<Vec<StringEntry>>
pub fn search_strings( &self, query: &str, limit: usize, ) -> AnalysisResult<Vec<StringEntry>>
Search values using Unicode lowercase substring matching.
Return related values using a deterministic, fixed-denominator score.
Trait Implementations§
Source§impl Clone for StringTracker
impl Clone for StringTracker
Source§fn clone(&self) -> StringTracker
fn clone(&self) -> StringTracker
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more