feat: add per-account connection/subscription limits with AccountConfig

This commit is contained in:
Joseph Doherty
2026-02-23 00:46:16 -05:00
parent cc0fe04f3c
commit 6afe11ad4d
6 changed files with 97 additions and 4 deletions

View File

@@ -569,7 +569,17 @@ public sealed class NatsServer : IMessageRouter, ISubListAccess, IDisposable
public Account GetOrCreateAccount(string name)
{
return _accounts.GetOrAdd(name, n => new Account(n));
return _accounts.GetOrAdd(name, n =>
{
var acc = new Account(n);
if (_options.Accounts != null && _options.Accounts.TryGetValue(n, out var config))
{
acc.MaxConnections = config.MaxConnections;
acc.MaxSubscriptions = config.MaxSubscriptions;
acc.DefaultPermissions = config.DefaultPermissions;
}
return acc;
});
}
public void RemoveClient(NatsClient client)