Rebel Fork Framework
Urho3D::NetworkMessageLogger Class Reference

#include <Urho3D/Network/NetworkMessageLogger.h>

Public Member Functions

 NetworkMessageLogger (NetworkConnection *connection)
void Attach (NetworkConnection *connection)
 Subscribe to connection signals for automatic logging.
void SetEnabled (bool enabled)
 Enable or disable message logging.
bool IsEnabled () const
 Check if message logging is currently enabled.
virtual LogLevel GetMessageLogLevel (NetworkMessageId messageId) const
virtual void LogSentMessage (NetworkMessageId messageId, ConstByteSpan data, PacketTypeFlags packetType, ea::string_view debugInfo={})
virtual void LogReceivedMessage (NetworkMessageId messageId, ConstByteSpan data, ea::string_view debugInfo={})

Private Attributes

bool isEnabled_ = true
WeakPtr< NetworkConnection > connection_ {}

Detailed Description

Helper class for logging network messages.

NetworkMessageLogger provides functionality to log sent and received network messages with configurable verbosity levels. It can be enabled/disabled at runtime and provides virtual methods that can be overridden for custom logging behavior.

Usage Example:

class MyConnection : public DataChannelConnection
{
private:
NetworkMessageLogger logger_;
public:
void SendMessage(NetworkMessageId messageId, ConstByteSpan data,
PacketTypeFlags type, ea::string_view debugInfo)
{
// Log the outgoing message before sending
logger_.LogSentMessage(messageId, data, type, debugInfo);
BaseClassName::SendMessage(messageId, data, type, debugInfo);
}
bool OnMessage(NetworkMessageId messageId, ConstByteSpan msg)
{
// Log the received message
logger_.LogReceivedMessage(messageId, msg);
// Process the replicated message further
}
};
Definition DataChannelConnection.h:31
virtual bool SendMessage(NetworkMessageId messageId, ConstByteSpan data, PacketTypeFlags type=PacketType::ReliableOrdered, ea::string_view debugInfo={})
Sends network message. Data may be copied and sent asynchronously.
Definition NetworkConnection.cpp:83
virtual void LogSentMessage(NetworkMessageId messageId, ConstByteSpan data, PacketTypeFlags packetType, ea::string_view debugInfo={})
Definition NetworkMessageLogger.cpp:61
virtual void LogReceivedMessage(NetworkMessageId messageId, ConstByteSpan data, ea::string_view debugInfo={})
Definition NetworkMessageLogger.cpp:73

Member Function Documentation

◆ GetMessageLogLevel()

LogLevel Urho3D::NetworkMessageLogger::GetMessageLogLevel ( NetworkMessageId messageId) const
virtual

Get the log level for a specific network message type. Can be overridden to provide custom log level per message type.

◆ LogReceivedMessage()

void Urho3D::NetworkMessageLogger::LogReceivedMessage ( NetworkMessageId messageId,
ConstByteSpan data,
ea::string_view debugInfo = {} )
virtual

Log a received network message. Can be overridden for custom logging behavior (e.g., file output, remote logging).

◆ LogSentMessage()

void Urho3D::NetworkMessageLogger::LogSentMessage ( NetworkMessageId messageId,
ConstByteSpan data,
PacketTypeFlags packetType,
ea::string_view debugInfo = {} )
virtual

Log a sent network message. Can be overridden for custom logging behavior (e.g., file output, remote logging).


The documentation for this class was generated from the following files:
  • Urho3D/Network/NetworkMessageLogger.h
  • Urho3D/Network/NetworkMessageLogger.cpp