Source code for mersal.idempotency.message_tracker

from typing import Any, Protocol

from mersal.transport import TransactionContext

__all__ = ("MessageTracker",)


[docs] class MessageTracker(Protocol): """Idempotency tracker."""
[docs] async def track_message(self, message_id: Any, transaction_context: TransactionContext) -> None: """Set message identified by `message_id` as handled.""" ...
[docs] async def is_message_tracked(self, message_id: Any, transaction_context: TransactionContext) -> bool: """Check if message identified by `message_id` is handled.""" ...