Skip to main content

Module filter

Module filter 

Source
Available on crate feature transport only.
Expand description

§Transport Filter Engine

Provides transport-level message filtering using CEL syntax with SIMD fast-path for simple patterns. Embedded in every transport – filters are configured via the config cascade and applied automatically.

§Performance Tiers

  • Tier 1 – SIMD field extraction (~50-100ns/msg). Always enabled.
  • Tier 2 – Pre-compiled CEL (~500ns-1us/msg). Requires allow_cel_filters_in/out.
  • Tier 3 – Complex CEL with regex/iteration (~5-50us/msg). Requires allow_complex_filters_in/out.

§Usage

Transports construct TransportFilterEngine from config at creation time. The engine is a no-op when no filters are configured (zero overhead).

kafka:
  filters_in:
    - expression: 'has(_internal)'
      action: drop
    - expression: 'status == "poison"'
      action: dlq

Re-exports§

pub use budget::BudgetError;
pub use budget::FilterBudget;
pub use config::FilterAction;
pub use config::FilterDirection;
pub use config::FilterRule;
pub use config::FilterTier;
pub use config::TransportFilterTierConfig;

Modules§

budget
Static AST + runtime payload budget for Tier 2/3 CEL filters.
classify
Classify CEL expressions into performance tiers via text pattern matching.
compiled
Compiled filter representations and evaluation logic.
config
Filter configuration types for transport-level message filtering.
metrics
Filter metrics – counters per direction and action.

Structs§

FilteredBatch
Result of partitioning a batch of messages through inbound filters.
FilteredDlqEntry
A DLQ entry produced by inbound filtering.
TransportFilterEngine
Transport-level message filter engine.

Enums§

FilterDisposition
Result of evaluating a filter against a message payload.