namespace Svrnty.CQRS.Events.ConsumerGroups.Abstractions; /// /// Strategy for committing consumer offsets. /// public enum OffsetCommitStrategy { /// /// Manual commit via CommitOffsetAsync. /// Provides maximum control but requires explicit offset management. /// Use when you need precise control over when offsets are committed. /// Manual = 0, /// /// Auto-commit after each event is yielded. /// Provides strong at-least-once delivery guarantees but higher overhead. /// Best for critical events where you cannot afford to reprocess. /// AfterEach = 1, /// /// Auto-commit after each batch of events. /// Balances delivery guarantees with performance. /// Best for most use cases. /// AfterBatch = 2, /// /// Periodic auto-commit at configured intervals. /// Lowest overhead but may result in more duplicate processing on failure. /// Best for high-throughput scenarios where some duplication is acceptable. /// Periodic = 3 }