feat: add ClosedState enum ported from Go client.go

This commit is contained in:
Joseph Doherty
2026-02-22 23:34:05 -05:00
parent d0aa6a5fdd
commit 9ae75207fc

View File

@@ -0,0 +1,52 @@
// Ported from Go: server/client.go:188-228
namespace NATS.Server;
/// <summary>
/// Reason a client connection was closed. Stored in connection info for monitoring
/// and passed to close handlers during connection teardown.
/// </summary>
/// <remarks>
/// Values start at 1 (matching Go's <c>iota + 1</c>) so that the default zero value
/// is distinct from any valid close reason.
/// </remarks>
public enum ClosedState
{
ClientClosed = 1,
AuthenticationTimeout,
AuthenticationViolation,
TLSHandshakeError,
SlowConsumerPendingBytes,
SlowConsumerWriteDeadline,
WriteError,
ReadError,
ParseError,
StaleConnection,
ProtocolViolation,
BadClientProtocolVersion,
WrongPort,
MaxAccountConnectionsExceeded,
MaxConnectionsExceeded,
MaxPayloadExceeded,
MaxControlLineExceeded,
MaxSubscriptionsExceeded,
DuplicateRoute,
RouteRemoved,
ServerShutdown,
AuthenticationExpired,
WrongGateway,
MissingAccount,
Revocation,
InternalClient,
MsgHeaderViolation,
NoRespondersRequiresHeaders,
ClusterNameConflict,
DuplicateRemoteLeafnodeConnection,
DuplicateClientID,
DuplicateServerName,
MinimumVersionRequired,
ClusterNamesIdentical,
Kicked,
ProxyNotTrusted,
ProxyRequired,
}