namespace NATS.Server.JetStream; /// /// API usage counters for JetStream. /// Go reference: server/jetstream.go JetStreamAPIStats. /// public sealed class JetStreamApiStats { public int Level { get; set; } public ulong Total { get; set; } public ulong Errors { get; set; } public int Inflight { get; set; } } /// /// Per-tier JetStream resource view. /// Go reference: server/jetstream.go JetStreamTier. /// public sealed class JetStreamTier { public string Name { get; set; } = string.Empty; public long Memory { get; set; } public long Store { get; set; } public int Streams { get; set; } public int Consumers { get; set; } } /// /// Per-account JetStream limits. /// Go reference: server/jetstream.go JetStreamAccountLimits. /// public sealed class JetStreamAccountLimits { public long MaxMemory { get; set; } public long MaxStore { get; set; } public int MaxStreams { get; set; } public int MaxConsumers { get; set; } public int MaxAckPending { get; set; } public long MemoryMaxStreamBytes { get; set; } public long StoreMaxStreamBytes { get; set; } public bool MaxBytesRequired { get; set; } public Dictionary Tiers { get; set; } = new(StringComparer.Ordinal); } /// /// Server-level JetStream usage stats. /// Go reference: server/jetstream.go JetStreamStats. /// public sealed class JetStreamStats { public long Memory { get; set; } public long Store { get; set; } public long ReservedMemory { get; set; } public long ReservedStore { get; set; } public int Accounts { get; set; } public int HaAssets { get; set; } public JetStreamApiStats Api { get; set; } = new(); }