Invoke ping callback only if a new ping value has been added.
This commit is contained in:
@@ -77,14 +77,17 @@ public:
|
|||||||
void StartPing() {
|
void StartPing() {
|
||||||
pingTimer.start();
|
pingTimer.start();
|
||||||
}
|
}
|
||||||
void EndPing() {
|
bool EndPing() {
|
||||||
|
bool retVal = false;
|
||||||
if (pingTimer.is_running()) {
|
if (pingTimer.is_running()) {
|
||||||
pingValues.push_back((unsigned)pingTimer.elapsed().total_milliseconds());
|
pingValues.push_back((unsigned)pingTimer.elapsed().total_milliseconds());
|
||||||
if (pingValues.size() > SIZE_PING_BACKLOG) {
|
if (pingValues.size() > SIZE_PING_BACKLOG) {
|
||||||
pingValues.pop_front();
|
pingValues.pop_front();
|
||||||
}
|
}
|
||||||
pingTimer.reset();
|
pingTimer.reset();
|
||||||
|
retVal = true;
|
||||||
}
|
}
|
||||||
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -1566,8 +1566,9 @@ void
|
|||||||
ClientThread::EndPing()
|
ClientThread::EndPing()
|
||||||
{
|
{
|
||||||
boost::mutex::scoped_lock lock(m_pingDataMutex);
|
boost::mutex::scoped_lock lock(m_pingDataMutex);
|
||||||
m_pingData.EndPing();
|
if (m_pingData.EndPing()) {
|
||||||
GetCallback().SignalNetClientPingUpdate(m_pingData.MinPing(), m_pingData.AveragePing(), m_pingData.MaxPing());
|
GetCallback().SignalNetClientPingUpdate(m_pingData.MinPing(), m_pingData.AveragePing(), m_pingData.MaxPing());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerStats
|
ServerStats
|
||||||
|
|||||||
Reference in New Issue
Block a user