public void Process_Outgoing_Message( CNetworkMessage message ) { if ( message is CRequestMessage ) { CRequestMessage request = message as CRequestMessage; request.RequestID = m_NextRequestID++; m_OutstandingRequests.Add( request.RequestID, request ); } }
// Methods // Public interface public void Process_Incoming_Message( CNetworkMessage message ) { if ( message is CResponseMessage ) { CResponseMessage response = message as CResponseMessage; EMessageRequestID request_id = response.RequestID; CRequestMessage request = null; if ( m_OutstandingRequests.TryGetValue( request_id, out request ) ) { response.Request = request; m_OutstandingRequests.Remove( request_id ); } else if ( response.RequiresRequest ) { throw new CAppNetworkingException( "Response has unknown request id." ); } } }
protected virtual bool Handle_Message( CNetworkMessage message ) { CLog.Log( ELoggingChannel.Network, ELogLevel.Medium, String.Format( "Connection handle opportunity for message of type ", message.GetType().Name ) ); switch ( message.MessageType ) { case ENetworkMessageType.Message_Ping: LastPingTime = CurrentTime; return true; default: return false; } }
public void Send_Message( CNetworkMessage message ) { m_OutgoingMessages.Add( message ); }
public override void Send_Message( CNetworkMessage message, ESessionID destination_id ) { Send_Message( new CWrappedNetworkMessage( message, destination_id ) ); }
public void Add_Message( CNetworkMessage message, ESessionID destination_id ) { m_CurrentNetworkFrame.Add_Message( message, destination_id ); }
private void Send_Message_To_Game_Server( CNetworkMessage message ) { CServerLogicalThread.Instance.Send_Message( message, ESessionID.Loopback ); }
private static void Send_Message_To_Chat_Server( CNetworkMessage message ) { CClientLogicalThread.Instance.Send_Message( message, ESessionID.First ); }
public static void Send_Message_To_Server( CNetworkMessage message ) { CServerLogicalThread.Instance.Send_Message( message, ESessionID.Loopback ); }
public void Send_Message_To_Members( CNetworkMessage message, EPersistenceID exclude_id ) { ConnectedPlayersAndObservers.Where( id => id != exclude_id ).Apply( pid => CServerMessageRouter.Send_Message_To_Player( message, pid ) ); }
// Kinda ugly, but otherwise no way to start a message send from CRShared; override in the appropriate places on client/server public virtual void Send_Message( CNetworkMessage message, ESessionID destination_id ) { }
protected override bool Handle_Message( CNetworkMessage message ) { bool handled = base.Handle_Message( message ); if ( handled ) { return true; } CServerNetworkThread.Instance.On_Message_Receive( message, ID ); return true; }
public void Send_Message_To_Server( CNetworkMessage message ) { Send_Message( message, ESessionID.First ); }
public void Send_Message( CNetworkMessage message, EPersistenceID player_id ) { CConnectedPlayer player = Get_Active_Player_By_Persistence_ID( player_id ); if ( player != null ) { Add_Message( message, player.SessionID ); } }
public void Send_Message( CNetworkMessage message, ESessionID destination_id ) { CServerLogicalThread.Instance.Send_Message( message, destination_id ); }
// Methods // Public static interface public static void Send_Message_To_Player( CNetworkMessage message, EPersistenceID player_id ) { CServerLogicalThread.Instance.Send_Message( message, player_id ); }
public void Send_Message( CNetworkMessage message, EPersistenceID player_id ) { CConnectedPlayer player = Get_Active_Player_By_Persistence_ID( player_id ); if ( player != null ) { CServerLogicalThread.Instance.Send_Message( message, player.SessionID ); } }
public static void Send_Message_To_Session( CNetworkMessage message, ESessionID session_id ) { CServerLogicalThread.Instance.Send_Message( message, session_id ); }
// Protected interface and overrides protected override bool Handle_Message( CNetworkMessage message ) { bool handled = base.Handle_Message( message ); if ( handled ) { return true; } switch ( message.MessageType ) { case ENetworkMessageType.Message_Disconnect_Result: IsFinished = true; return true; case ENetworkMessageType.Message_Client_Hello_Response: CClientHelloResponse response = message as CClientHelloResponse; CClientNetworkThread.Instance.On_Message_Receive( message, ID ); if ( response.Reason != EConnectRefusalReason.None ) { IsFinished = true; } return true; case ENetworkMessageType.Message_Connection_Dropped: CClientNetworkThread.Instance.On_Message_Receive( message, ID ); IsFinished = true; return true; default: CClientNetworkThread.Instance.On_Message_Receive( message, ID ); return true; } }
private void Send_Message_To_Channel( EChannelID channel_id, CNetworkMessage message, EPersistenceID skip_id ) { CServerChatChannel channel = Get_Channel_By_Channel_ID( channel_id ); if ( channel == null ) { return; } channel.Members.Where( n => n != skip_id ).Apply( pid => Send_Message_To_Player( message, pid ) ); }
private void Send_Message_To_Members( ELobbyID lobby_id, CNetworkMessage message ) { Send_Message_To_Members( lobby_id, message, EPersistenceID.Invalid ); }
private void Send_Message_To_Player( CNetworkMessage message, EPersistenceID persistence_id ) { CChatPlayer player = Get_Player_By_Persistence_ID( persistence_id ); if ( player == null ) { return; } CServerLogicalThread.Instance.Send_Message( message, player.SessionID ); }
private void Send_Message_To_Members( ELobbyID lobby_id, CNetworkMessage message, EPersistenceID exclude_id ) { CServerLobby lobby = Get_Lobby( lobby_id ); if ( lobby == null ) { return; } lobby.ConnectedMemberIDs.Where( cid => cid != exclude_id ).Apply( id => CServerMessageRouter.Send_Message_To_Player( message, id ) ); }
public override void Send_Message( CNetworkMessage message, ESessionID destination_id ) { Add_Message( message, destination_id ); }
public void On_Message_Receive( CNetworkMessage message, ESessionID id ) { CLog.Log( ELoggingChannel.Network, ELogLevel.Medium, String.Format( "Received network message {0}", message.GetType().Name ) ); CLog.Log( ELoggingChannel.Network, ELogLevel.High, String.Format( " Internal state: {0}", message.ToString() ) ); m_RequestResponseManager.Process_Incoming_Message( message ); m_CurrentFrame.Add_Message( message, id ); }