/// <summary> /// Disables the <see cref="ServerPeer"/>. /// </summary> /// <param name="peer"> /// It's the peer to disable. /// </param> /// <remarks> /// It's called when the peer channel is disconnected or an /// error occurs. /// </remarks> protected virtual void DisablePeer(ServerPeer peer) { try { lock (this) { if (_peers.Contains(peer.Name)) { if (Logger.IsDebugEnabled) { Logger.Debug(string.Format("BasicServerPeerManager - DisablePeer = {0}.", peer.Name)); } peer.MessageProcessor = null; peer.Disconnected -= new PeerDisconnectedEventHandler(OnPeerDisconnected); _peers.Remove(peer.Name); peer.Dispose(); } } } catch (Exception ex) { new PANE.ERRORLOG.Error().LogToFile(ex); } }
private void HandleDisconnect() { Status = ConnectionStatus.Disconnected; IsConnected = false; UDPTransport.Disconnect(); connectionID = -1; if (ServerPeer != null) { ServerPeer.Dispose(); ServerPeer.IsConnected = false; } Disconnected?.Invoke(); }