Minor cleanup. More efficient push() operation for RingBuffer

This commit is contained in:
Joseph Henry 2018-06-13 14:50:37 -07:00
parent 0faa655b83
commit f8005b88ad
3 changed files with 9 additions and 11 deletions

View file

@ -161,11 +161,9 @@ public:
{
delete _throughputSamples;
delete _latencySamples;
delete _qualitySamples;
delete _packetValiditySamples;
_throughputSamples = NULL;
_latencySamples = NULL;
_qualitySamples = NULL;
_packetValiditySamples = NULL;
}
@ -580,7 +578,6 @@ public:
* @param now Current time
*/
inline void processBackgroundPathMeasurements(int64_t now, const int64_t peerId) {
// Compute path stability
if (now - _lastPathQualityComputeTime > ZT_PATH_QUALITY_COMPUTE_INTERVAL) {
Mutex::Lock _l(_statistics_m);
_lastPathQualityComputeTime = now;
@ -606,8 +603,6 @@ public:
// Compute the quality product
_lastComputedStability = pdv_contrib + latency_contrib + throughput_disturbance_contrib;
_lastComputedStability *= 1 - _packetErrorRatio;
_qualitySamples->push(_lastComputedStability);
// Prevent QoS records from sticking around for too long
std::map<uint64_t,uint64_t>::iterator it = _outQoSRecords.begin();
while (it != _outQoSRecords.end()) {
@ -650,7 +645,6 @@ public:
inline void prepareBuffers() {
_throughputSamples = new RingBuffer<uint64_t>(ZT_PATH_QUALITY_METRIC_WIN_SZ);
_latencySamples = new RingBuffer<uint32_t>(ZT_PATH_QUALITY_METRIC_WIN_SZ);
_qualitySamples = new RingBuffer<float>(ZT_PATH_QUALITY_METRIC_WIN_SZ);
_packetValiditySamples = new RingBuffer<bool>(ZT_PATH_QUALITY_METRIC_WIN_SZ);
memset(_ifname, 0, 16);
memset(_addrString, 0, sizeof(_addrString));
@ -704,7 +698,6 @@ private:
RingBuffer<uint64_t> *_throughputSamples;
RingBuffer<uint32_t> *_latencySamples;
RingBuffer<float> *_qualitySamples;
RingBuffer<bool> *_packetValiditySamples;
};