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: dlqRe-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§
- Filtered
Batch - Result of partitioning a batch of messages through inbound filters.
- Filtered
DlqEntry - A DLQ entry produced by inbound filtering.
- Transport
Filter Engine - Transport-level message filter engine.
Enums§
- Filter
Disposition - Result of evaluating a filter against a message payload.