using NATS.Server.Auth; namespace NATS.Server; public sealed class NatsOptions { public string Host { get; set; } = "0.0.0.0"; public int Port { get; set; } = 4222; public string? ServerName { get; set; } public int MaxPayload { get; set; } = 1024 * 1024; // 1MB public int MaxControlLine { get; set; } = 4096; public int MaxConnections { get; set; } = 65536; public TimeSpan PingInterval { get; set; } = TimeSpan.FromMinutes(2); public int MaxPingsOut { get; set; } = 2; // Simple auth (single user) public string? Username { get; set; } public string? Password { get; set; } public string? Authorization { get; set; } // Multiple users/nkeys public IReadOnlyList? Users { get; set; } public IReadOnlyList? NKeys { get; set; } // Default/fallback public string? NoAuthUser { get; set; } // Auth timing public TimeSpan AuthTimeout { get; set; } = TimeSpan.FromSeconds(2); }