private void ChannelClosed() { try { if (Socket != null) { Socket.Close(); } } finally { State = TcpChannelState.Closed; m_listener.ChannelClosed(ChannelId); if (m_cleanupTimer != null) { m_cleanupTimer.Dispose(); m_cleanupTimer = null; } } }