From 786f6c4e10c43343aca023476fc9cbcc2fae8ce8 Mon Sep 17 00:00:00 2001 From: RD42 Date: Mon, 5 May 2025 12:06:10 -0700 Subject: [PATCH] [raknet] Match `ReliabilityLayer::GetStatistics(...)` * Update `RakPeer::GetStatistics(...)` * Update `RakPeer::RunUpdateCycle()` --- raknet/RakPeer.cpp | 6 +++--- raknet/ReliabilityLayer.cpp | 8 ++++++-- raknet/ReliabilityLayer.h | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/raknet/RakPeer.cpp b/raknet/RakPeer.cpp index 595a311..c043514 100644 --- a/raknet/RakPeer.cpp +++ b/raknet/RakPeer.cpp @@ -2348,7 +2348,7 @@ RakNetStatisticsStruct * const RakPeer::GetStatistics( const PlayerID playerId ) { if (remoteSystemList[ i ].isActive) { - systemStats=remoteSystemList[ i ].reliabilityLayer.GetStatistics(); + systemStats=remoteSystemList[ i ].reliabilityLayer.GetStatistics( true ); if (firstWrite==true) { @@ -2366,7 +2366,7 @@ RakNetStatisticsStruct * const RakPeer::GetStatistics( const PlayerID playerId ) RemoteSystemStruct * rss; rss = GetRemoteSystemFromPlayerID( playerId, false, false ); if ( rss && endThreads==false ) - return rss->reliabilityLayer.GetStatistics(); + return rss->reliabilityLayer.GetStatistics( true ); } return 0; @@ -4148,7 +4148,7 @@ bool RakPeer::RunUpdateCycle( void ) if (timeMS > remoteSystem->lastReliableSend && timeMS-remoteSystem->lastReliableSend > 5000 && remoteSystem->connectMode==RemoteSystemStruct::CONNECTED) { // If no reliable packets are waiting for an ack, do a one byte reliable send so that disconnections are noticed - rnss=remoteSystem->reliabilityLayer.GetStatistics(); + rnss=remoteSystem->reliabilityLayer.GetStatistics( false ); if (rnss->messagesOnResendQueue==0) { unsigned char keepAlive=ID_DETECT_LOST_CONNECTIONS; diff --git a/raknet/ReliabilityLayer.cpp b/raknet/ReliabilityLayer.cpp index 11922b3..7e86b26 100644 --- a/raknet/ReliabilityLayer.cpp +++ b/raknet/ReliabilityLayer.cpp @@ -2476,7 +2476,7 @@ void ReliabilityLayer::UpdateNextActionTime(void) //------------------------------------------------------------------------------------------------------- // Statistics //------------------------------------------------------------------------------------------------------- -RakNetStatisticsStruct * const ReliabilityLayer::GetStatistics( void ) +RakNetStatisticsStruct * const ReliabilityLayer::GetStatistics( bool includeResendListDataSize ) { unsigned i; @@ -2494,7 +2494,11 @@ RakNetStatisticsStruct * const ReliabilityLayer::GetStatistics( void ) statistics.bitsPerSecond = currentBandwidth; //statistics.lossySize = lossyWindowSize == MAXIMUM_WINDOW_SIZE + 1 ? 0 : lossyWindowSize; // statistics.lossySize=0; - statistics.messagesOnResendQueue = GetResendListDataSize(); + if (!includeResendListDataSize) + statistics.messagesOnResendQueue = GetResendListDataSize(); + else + statistics.messagesOnResendQueue = 0; + return &statistics; } diff --git a/raknet/ReliabilityLayer.h b/raknet/ReliabilityLayer.h index 0c8d69b..9c83b31 100644 --- a/raknet/ReliabilityLayer.h +++ b/raknet/ReliabilityLayer.h @@ -151,7 +151,7 @@ public: /// Get Statistics /// \return A pointer to a static struct, filled out with current statistical information. - RakNetStatisticsStruct * const GetStatistics( void ); + RakNetStatisticsStruct * const GetStatistics( bool includeResendListDataSize ); ///Are we waiting for any data to be sent out or be processed by the player? bool IsDataWaiting(void);