CompiledRule

Trait CompiledRule 

Source
pub trait CompiledRule: Send + Sync {
    // Required method
    fn get_string_matches(
        &self,
        content: &str,
        path: &Path<'_>,
        ctx: &mut StringMatchesCtx<'_>,
    ) -> RuleResult;

    // Provided methods
    fn init_per_scanner_data(&self, _per_scanner_data: &mut SharedData) { ... }
    fn init_per_string_data(
        &self,
        _labels: &Labels,
        _per_string_data: &mut SharedData,
    ) { ... }
    fn init_per_event_data(&self, _per_event_data: &mut SharedData) { ... }
    fn finish_per_event_data(&self, _per_event_data: &mut SharedData) { ... }
    fn should_exclude_multipass_v0(&self) -> bool { ... }
    fn on_excluded_match_multipass_v0(
        &self,
        _path: &Path<'_>,
        _excluded_path: &str,
        _enable_debug_observability: bool,
    ) { ... }
    fn as_regex_rule(&self) -> Option<&RegexCompiledRule> { ... }
    fn as_regex_rule_mut(&mut self) -> Option<&mut RegexCompiledRule> { ... }
    fn allow_scanner_to_exclude_namespace(&self) -> bool { ... }
}

Required Methods§

Source

fn get_string_matches( &self, content: &str, path: &Path<'_>, ctx: &mut StringMatchesCtx<'_>, ) -> RuleResult

Provided Methods§

Source

fn init_per_scanner_data(&self, _per_scanner_data: &mut SharedData)

Source

fn init_per_string_data( &self, _labels: &Labels, _per_string_data: &mut SharedData, )

Source

fn init_per_event_data(&self, _per_event_data: &mut SharedData)

Source

fn finish_per_event_data(&self, _per_event_data: &mut SharedData)

Called once per unblocked rule after successful traversal, before awaiting pending jobs. This also runs when the rule had no eligible strings, so its state may be absent. Rules can publish event-wide state here to jobs waiting for all strings to be visited. This is not called when traversal fails; dropping per-event state must release any waiters.

Source

fn should_exclude_multipass_v0(&self) -> bool

Source

fn on_excluded_match_multipass_v0( &self, _path: &Path<'_>, _excluded_path: &str, _enable_debug_observability: bool, )

Source

fn as_regex_rule(&self) -> Option<&RegexCompiledRule>

Source

fn as_regex_rule_mut(&mut self) -> Option<&mut RegexCompiledRule>

Source

fn allow_scanner_to_exclude_namespace(&self) -> bool

Implementors§