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