Invoke ping callback only if a new ping value has been added.

This commit is contained in:
lotodore
2014-01-08 22:27:10 +01:00
parent 8db313d555
commit 0f23bf0105
2 changed files with 7 additions and 3 deletions
+4 -1
View File
@@ -77,14 +77,17 @@ public:
void StartPing() {
pingTimer.start();
}
void EndPing() {
bool EndPing() {
bool retVal = false;
if (pingTimer.is_running()) {
pingValues.push_back((unsigned)pingTimer.elapsed().total_milliseconds());
if (pingValues.size() > SIZE_PING_BACKLOG) {
pingValues.pop_front();
}
pingTimer.reset();
retVal = true;
}
return retVal;
}
private:
+3 -2
View File
@@ -1566,8 +1566,9 @@ void
ClientThread::EndPing()
{
boost::mutex::scoped_lock lock(m_pingDataMutex);
m_pingData.EndPing();
GetCallback().SignalNetClientPingUpdate(m_pingData.MinPing(), m_pingData.AveragePing(), m_pingData.MaxPing());
if (m_pingData.EndPing()) {
GetCallback().SignalNetClientPingUpdate(m_pingData.MinPing(), m_pingData.AveragePing(), m_pingData.MaxPing());
}
}
ServerStats