Skip to content

Commit be3351c

Browse files
committed
feat(filter): transport filter engine core — config, classification, SIMD evaluation
Chunk 1 of transport filter engine implementation: - FilterRule, FilterAction, TransportFilterTierConfig config types - Tier classification via text pattern matching (regex, not AST walk) - Tier 1: has(), ==, !=, startsWith, endsWith, contains - Tier 2: compound CEL (detected by exclusion) - Tier 3: restricted functions (matches, exists, map, etc.) - CompiledFilter with Tier 1 SIMD evaluation via sonic_rs::get_from_slice - Dotted paths supported (metadata.source splits to path array) - MsgPack payloads bypass filters (JSON-only SIMD extraction) - TransportFilterEngine assembly with startup validation: - Tier gate enforcement (reject above enabled tier) - Ordering warnings (higher tier before lower tier) - Filter count warnings (>20 per direction) - FilterMetrics counters (transport_filtered_total) - 56 tests covering config, classification, evaluation, engine assembly regex added to transport feature (required for Tier 1 classification).
1 parent 0632854 commit be3351c

7 files changed

Lines changed: 1870 additions & 1 deletion

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ config-reload = ["config", "parking_lot", "tokio", "tracing"]
9696
config-postgres = ["config", "sqlx", "tokio", "serde_json"]
9797

9898
# Transport features
99-
transport = ["tokio", "serde_json", "rmp-serde", "chrono", "async-trait"]
99+
transport = ["tokio", "serde_json", "rmp-serde", "chrono", "async-trait", "regex"]
100100
transport-memory = ["transport"]
101101
transport-kafka = ["transport", "rdkafka", "regex", "tokio-util"]
102102
transport-grpc = ["transport", "dep:tonic", "dep:tonic-prost", "dep:prost", "dep:prost-types", "dep:tonic-prost-build", "dep:prost-build"]

0 commit comments

Comments
 (0)