namespace NATS.Server.JetStream.Models; public sealed class ConsumerConfig { public string DurableName { get; set; } = string.Empty; public bool Ephemeral { get; set; } public string? FilterSubject { get; set; } public List FilterSubjects { get; set; } = []; public AckPolicy AckPolicy { get; set; } = AckPolicy.None; public DeliverPolicy DeliverPolicy { get; set; } = DeliverPolicy.All; public ulong OptStartSeq { get; set; } public DateTime? OptStartTimeUtc { get; set; } public ReplayPolicy ReplayPolicy { get; set; } = ReplayPolicy.Instant; public int AckWaitMs { get; set; } = 30_000; public int MaxDeliver { get; set; } = 1; public int MaxAckPending { get; set; } public bool Push { get; set; } public int HeartbeatMs { get; set; } public List BackOffMs { get; set; } = []; public bool FlowControl { get; set; } public long RateLimitBps { get; set; } } public enum AckPolicy { None, Explicit, All, }