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§
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)
Sourcefn finish_per_event_data(&self, _per_event_data: &mut SharedData)
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.