Expand description
Message Idempotency & Deduplication — FR-006
Deduplication layer for K2K messages ensuring exactly-once semantics:
- Each message carries an idempotency key (derived from MessageId)
- Receiver maintains a bounded dedup cache with configurable TTL
- Duplicate messages are silently dropped (logged, not processed)
§Usage
ⓘ
let mut dedup = DeduplicationCache::new(DeduplicationConfig::default());
// First time: not a duplicate
assert!(!dedup.is_duplicate(msg_id_1));
// Second time: duplicate detected
assert!(dedup.is_duplicate(msg_id_1));Structs§
- Deduplication
Cache - Deduplication cache for K2K message processing.
- Deduplication
Config - Configuration for the deduplication cache.
- Deduplication
Metrics - Deduplication metrics.