Check if an event should be rejected as a replay and record it as processed. Returns null if the event is valid, or a string reason if it should be rejected.
Clear all tracked event IDs.
Commit a pending reservation as successfully processed.
Reserved signed event ID
Release a pending reservation so a failed operation can be retried. Committed event IDs are never removed by this method.
Reserved signed event ID
Check an event and atomically reserve its ID for pending processing. Call commit after processing succeeds or release after it fails.
Signed event whose ID should be reserved
null if reserved, or a string reason if it should be rejected
Replay detection engine. Tracks seen event IDs and validates timestamps.
Example