AFV initial commit

This commit is contained in:
Roland Rossgotterer
2019-09-14 21:18:26 +02:00
committed by Mat Sutcliffe
parent 7030302e73
commit b5a2f2ad13
100 changed files with 6821 additions and 25 deletions

View File

@@ -0,0 +1,67 @@
#include "callsigndelaycache.h"
void CallsignDelayCache::initialise(const QString &callsign)
{
if (!m_delayCache.contains(callsign))
m_delayCache[callsign] = delayDefault;
if (!successfulTransmissionsCache.contains(callsign))
successfulTransmissionsCache[callsign] = 0;
}
int CallsignDelayCache::get(const QString &callsign)
{
return m_delayCache[callsign];
}
void CallsignDelayCache::underflow(const QString &callsign)
{
if (!successfulTransmissionsCache.contains(callsign))
return;
successfulTransmissionsCache[callsign] = 0;
increaseDelayMs(callsign);
}
void CallsignDelayCache::success(const QString &callsign)
{
if (!successfulTransmissionsCache.contains(callsign))
return;
successfulTransmissionsCache[callsign]++;
if (successfulTransmissionsCache[callsign] > 5)
{
decreaseDelayMs(callsign);
successfulTransmissionsCache[callsign] = 0;
}
}
void CallsignDelayCache::increaseDelayMs(const QString &callsign)
{
if (!m_delayCache.contains(callsign))
return;
m_delayCache[callsign] += delayIncrement;
if (m_delayCache[callsign] > delayMax)
{
m_delayCache[callsign] = delayMax;
}
}
void CallsignDelayCache::decreaseDelayMs(const QString &callsign)
{
if (!m_delayCache.contains(callsign))
return;
m_delayCache[callsign] -= delayIncrement;
if (m_delayCache[callsign] < delayMin)
{
m_delayCache[callsign] = delayMin;
}
}
CallsignDelayCache &CallsignDelayCache::instance()
{
static CallsignDelayCache cache;
return cache;
}