summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node/Path.hpp2
-rw-r--r--node/Peer.cpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/node/Path.hpp b/node/Path.hpp
index 6162be20..fb202306 100644
--- a/node/Path.hpp
+++ b/node/Path.hpp
@@ -365,7 +365,7 @@ public:
_unackedBytes = (ackedBytes > _unackedBytes) ? 0 : _unackedBytes - ackedBytes;
int64_t timeSinceThroughputEstimate = (now - _lastThroughputEstimation);
if (timeSinceThroughputEstimate >= ZT_PATH_THROUGHPUT_MEASUREMENT_INTERVAL) {
- uint64_t throughput = (float)(_bytesAckedSinceLastThroughputEstimation) / ((float)timeSinceThroughputEstimate / (float)1000);
+ uint64_t throughput = (float)(_bytesAckedSinceLastThroughputEstimation * 8) / ((float)timeSinceThroughputEstimate / (float)1000);
_throughputSamples->push(throughput);
_maxLifetimeThroughput = throughput > _maxLifetimeThroughput ? throughput : _maxLifetimeThroughput;
_lastThroughputEstimation = now;
diff --git a/node/Peer.cpp b/node/Peer.cpp
index 0f471b07..1d581ab8 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -349,12 +349,14 @@ float Peer::computeAggregateLinkPacketDelayVariance()
float Peer::computeAggregateLinkMeanLatency()
{
float ml = 0.0;
+ int pathCount = 0;
for(unsigned int i=0;i<ZT_MAX_PEER_NETWORK_PATHS;++i) {
if (_paths[i].p) {
+ pathCount++;
ml += _paths[i].p->relativeQuality() * _paths[i].p->meanLatency();
}
}
- return ml;
+ return ml / pathCount;
}
int Peer::aggregateLinkPhysicalPathCount()