public virtual void OnPeerStatusCallback(ClientConnection client, StatusCode returnCode) { log.WarnFormat( "{1}: OnPeerStatusCallback - unexpected return code {0}", returnCode, client.GetHashCode()); }
/// <summary> /// The on peer status callback. /// </summary> /// <param name = "client"> /// The client. /// </param> /// <param name = "returnCode"> /// The return code. /// </param> public override void OnPeerStatusCallback(ClientConnection client, StatusCode returnCode) { switch (returnCode) { case StatusCode.Disconnect: case StatusCode.DisconnectByServerUserLimit: case StatusCode.DisconnectByServer: case StatusCode.DisconnectByServerLogic: case StatusCode.TimeoutDisconnect: { if ((returnCode == StatusCode.Disconnect && log.IsDebugEnabled) || (returnCode != StatusCode.Disconnect && log.IsInfoEnabled)) { log.InfoFormat("{0}", returnCode); } Counters.ConnectedClients.Decrement(); WindowsCounters.ConnectedClients.Decrement(); client.State = Disconnected.Instance; client.OnDisconnected(); break; } default: { log.WarnFormat("{1}: OnPeerStatusCallback - unexpected return code {0}", returnCode, client.GetHashCode()); break; } } }