Skip to main content

Module idempotency

Module idempotency 

Source
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§

DeduplicationCache
Deduplication cache for K2K message processing.
DeduplicationConfig
Configuration for the deduplication cache.
DeduplicationMetrics
Deduplication metrics.