protected override bool Handle_Operation( CNetworkOperation operation )
        {
            bool handled = base.Handle_Operation( operation );
            if ( handled )
            {
                return true;
            }

            switch ( operation.NetworkOp )
            {
                case ENetworkOperation.Disconnect:
                    CDisconnectRequestOperation disconnect_op = operation as CDisconnectRequestOperation;
                    CServerConnection connection = Get_Connection( operation.ID ) as CServerConnection;
                    if ( connection != null )
                    {
                        connection.Set_Pending_Disconnect( disconnect_op.Reason );
                    }
                    return true;

                default:
                    return false;
            }
        }
 // Methods
 // Public interface
 public void Add_Network_Operation( CNetworkOperation operation )
 {
     m_CurrentNetworkFrame.Add_Operation( operation );
 }
        protected override bool Handle_Operation( CNetworkOperation operation )
        {
            bool handled = base.Handle_Operation( operation );
            if ( handled )
            {
                return true;
            }

            switch ( operation.NetworkOp )
            {
                case ENetworkOperation.Connect:
                    Handle_Connect_Request( operation as CConnectRequestOperation );
                    return true;

                case ENetworkOperation.Disconnect:
                    Handle_Disconnect_Request( operation as CDisconnectRequestOperation );
                    return true;

                default:
                    return false;
            }
        }
 private void Add_Network_Operation( CNetworkOperation operation )
 {
     CServerLogicalThread.Instance.Add_Network_Operation( operation );
 }
        protected virtual bool Handle_Operation( CNetworkOperation operation )
        {
            CLog.Log( ELoggingChannel.Network, ELogLevel.Medium, String.Format( "Handling network operation {0} on session id {1}", operation.NetworkOp.ToString(), (int) operation.ID ) );

            return false;
        }