When an ice-protocol server rejects a new connection because MaxConnections is reached, it aborts the transport connection:
|
_transportConnection!.Dispose(); |
This abort is in turn received by the client as an IceRpcError.ConnectionAborted (fine) or uncategorized error (IceRpcError.IceRpcError). See #2462.
This behavior is problematic because the ConnectionCache "move to the next server address" requires specific error codes, and IceRpcError.IceRpcError (= uncategorized error) is not among them. See #4027.