Files
SLikeNet/DependentExtensions/SQLite3Plugin/Logger/ClientOnly/Optional/SQLiteClientLogger_RNSLogger.cpp
2025-11-24 14:19:51 +05:30

113 lines
4.2 KiB
C++

/*
* This file was taken from RakNet 4.082.
* Please see licenses/RakNet license.txt for the underlying license and related copyright.
*
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
*
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
* license found in the license.txt file in the root directory of this source tree.
*/
#include "SQLiteClientLogger_RNSLogger.h"
#include "slikenet/time.h"
#include "slikenet/GetTime.h"
#include "slikenet/statistics.h"
#include "slikenet/peerinterface.h"
#include "SQLiteClientLoggerPlugin.h"
using namespace SLNet;
static const char *DEFAULT_RAKNET_STATISTICS_TABLE="RakNetStatistics";
SQLiteClientLogger_RakNetStatistics::SQLiteClientLogger_RakNetStatistics()
{
lastUpdate=0;
}
SQLiteClientLogger_RakNetStatistics::~SQLiteClientLogger_RakNetStatistics()
{
}
void SQLiteClientLogger_RakNetStatistics::Update(void)
{
SLNet::TimeUS time = SLNet::GetTimeUS();
if (time-lastUpdate>1000000)
{
lastUpdate=time;
unsigned int i;
RakNetStatistics rns;
for (i=0; i < rakPeerInterface->GetMaximumNumberOfPeers(); i++)
{
if (rakPeerInterface->GetStatistics( i, &rns ))
{
/*
rns.valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED],
rns.valueOverLastSecond[USER_MESSAGE_BYTES_SENT],
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RESENT],
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED],
rns.valueOverLastSecond[ACTUAL_BYTES_SENT],
rns.valueOverLastSecond[ACTUAL_BYTES_RECEIVED],
rns.runningTotal[USER_MESSAGE_BYTES_PUSHED],
rns.runningTotal[USER_MESSAGE_BYTES_SENT],
rns.runningTotal[USER_MESSAGE_BYTES_RESENT],
rns.runningTotal[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],
rns.runningTotal[USER_MESSAGE_BYTES_RECEIVED_IGNORED],
rns.runningTotal[ACTUAL_BYTES_SENT],
rns.runningTotal[ACTUAL_BYTES_RECEIVED],
rns.connectionStartTime,
rns.BPSLimitByCongestionControl,
rns.isLimitedByCongestionControl,
rns.BPSLimitByOutgoingBandwidthLimit,
rns.isLimitedByOutgoingBandwidthLimit,
rns.messageInSendBuffer[IMMEDIATE_PRIORITY],
rns.messageInSendBuffer[HIGH_PRIORITY],
rns.messageInSendBuffer[MEDIUM_PRIORITY],
rns.messageInSendBuffer[LOW_PRIORITY],
rns.bytesInSendBuffer[IMMEDIATE_PRIORITY],
rns.bytesInSendBuffer[HIGH_PRIORITY],
rns.bytesInSendBuffer[MEDIUM_PRIORITY],
rns.bytesInSendBuffer[LOW_PRIORITY],
rns.messagesInResendBuffer,
rns.bytesInResendBuffer,
rns.packetlossLastSecond,
rns.packetlossTotal,
*/
rakSqlLog(
DEFAULT_RAKNET_STATISTICS_TABLE,
"valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED],"
"valueOverLastSecond[USER_MESSAGE_BYTES_SENT],"
"valueOverLastSecond[USER_MESSAGE_BYTES_RESENT],"
"valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],"
"valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED],"
"valueOverLastSecond[ACTUAL_BYTES_SENT],"
"valueOverLastSecond[ACTUAL_BYTES_RECEIVED],"
"BPSLimitByCongestionControl,"
"BPSLimitByOutgoingBandwidthLimit,"
"bytesInSendBuffer,"
"messagesInResendBuffer,"
"bytesInResendBuffer,"
"packetlossLastSecond,"
"packetlossTotal",
( \
rns.valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED], \
rns.valueOverLastSecond[USER_MESSAGE_BYTES_SENT], \
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RESENT], \
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED], \
rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED], \
rns.valueOverLastSecond[ACTUAL_BYTES_SENT], \
rns.valueOverLastSecond[ACTUAL_BYTES_RECEIVED], \
rns.BPSLimitByCongestionControl, \
rns.BPSLimitByOutgoingBandwidthLimit, \
rns.bytesInSendBuffer[IMMEDIATE_PRIORITY]+rns.bytesInSendBuffer[HIGH_PRIORITY]+rns.bytesInSendBuffer[MEDIUM_PRIORITY]+rns.bytesInSendBuffer[LOW_PRIORITY], \
rns.messagesInResendBuffer, \
rns.bytesInResendBuffer, \
rns.packetlossLastSecond, \
rns.packetlossTotal \
));
}
}
}
}