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; }