diff options
Diffstat (limited to 'node')
-rw-r--r-- | node/Node.cpp | 2 | ||||
-rw-r--r-- | node/Path.hpp | 4 | ||||
-rw-r--r-- | node/Peer.cpp | 12 | ||||
-rw-r--r-- | node/RingBuffer.hpp | 2 | ||||
-rw-r--r-- | node/Switch.cpp | 2 |
5 files changed, 11 insertions, 11 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index c9f38ad3..237da463 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -500,7 +500,7 @@ ZT_PeerList *Node::peers() const p->paths[p->pathCount].trustedPathId = RR->topology->getOutboundPathTrust((*path)->address()); p->paths[p->pathCount].expired = 0; p->paths[p->pathCount].preferred = ((*path) == bestp) ? 1 : 0; - p->paths[p->pathCount].latency = (*path)->latency(); + p->paths[p->pathCount].latency = (float)(*path)->latency(); p->paths[p->pathCount].packetDelayVariance = (*path)->packetDelayVariance(); p->paths[p->pathCount].throughputDisturbCoeff = (*path)->throughputDisturbanceCoefficient(); p->paths[p->pathCount].packetErrorRatio = (*path)->packetErrorRatio(); diff --git a/node/Path.hpp b/node/Path.hpp index e1e65cb4..5b966f6b 100644 --- a/node/Path.hpp +++ b/node/Path.hpp @@ -351,7 +351,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 * 8) / ((float)timeSinceThroughputEstimate / (float)1000); + uint64_t throughput = (uint64_t)((float)(_bytesAckedSinceLastThroughputEstimation * 8) / ((float)timeSinceThroughputEstimate / (float)1000)); _throughputSamples.push(throughput); _maxLifetimeThroughput = throughput > _maxLifetimeThroughput ? throughput : _maxLifetimeThroughput; _lastThroughputEstimation = now; @@ -416,7 +416,7 @@ public: if (it != _outQoSRecords.end()) { uint16_t rtt = (uint16_t)(now - it->second); uint16_t rtt_compensated = rtt - rx_ts[j]; - float latency = rtt_compensated / 2.0; + uint16_t latency = rtt_compensated / 2; updateLatency(latency, now); _outQoSRecords.erase(it); } diff --git a/node/Peer.cpp b/node/Peer.cpp index da73e9cb..029e45e7 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -157,7 +157,7 @@ void Peer::received( break; } // If the path is the same address and port, simply assume this is a replacement - if ( (_paths[i].p->address().ipsEqual2(path->address()) && (_paths[i].p->address().port() == path->address().port()))) { + if ( (_paths[i].p->address().ipsEqual2(path->address()))) { replacePath = i; break; } @@ -285,7 +285,7 @@ void Peer::computeAggregateProportionalAllocation(int64_t now) for(unsigned int i=0;i<ZT_MAX_PEER_NETWORK_PATHS;++i) { if (_paths[i].p) { relStability[i] = _paths[i].p->lastComputedStability(); - relThroughput[i] = _paths[i].p->maxLifetimeThroughput(); + relThroughput[i] = (float)_paths[i].p->maxLifetimeThroughput(); maxStability = relStability[i] > maxStability ? relStability[i] : maxStability; maxThroughput = relThroughput[i] > maxThroughput ? relThroughput[i] : maxThroughput; maxScope = _paths[i].p->ipScope() > maxScope ? _paths[i].p->ipScope() : maxScope; @@ -296,7 +296,7 @@ void Peer::computeAggregateProportionalAllocation(int64_t now) if (_paths[i].p) { relStability[i] /= maxStability ? maxStability : 1; relThroughput[i] /= maxThroughput ? maxThroughput : 1; - float normalized_ma = Utils::normalize(_paths[i].p->ackAge(now), 0, ZT_PATH_MAX_AGE, 0, 10); + float normalized_ma = Utils::normalize((float)_paths[i].p->ackAge(now), 0, ZT_PATH_MAX_AGE, 0, 10); float age_contrib = exp((-1)*normalized_ma); float relScope = ((float)(_paths[i].p->ipScope()+1) / (maxScope + 1)); float relQuality = @@ -314,7 +314,7 @@ void Peer::computeAggregateProportionalAllocation(int64_t now) // Convert set of relative performances into an allocation set for(uint16_t i=0;i<ZT_MAX_PEER_NETWORK_PATHS;++i) { if (_paths[i].p) { - _paths[i].p->updateComponentAllocationOfAggregateLink((_paths[i].p->relativeQuality() / totalRelativeQuality) * 255); + _paths[i].p->updateComponentAllocationOfAggregateLink((unsigned char)((_paths[i].p->relativeQuality() / totalRelativeQuality) * 255)); } } } @@ -327,7 +327,7 @@ int Peer::computeAggregateLinkPacketDelayVariance() pdv += _paths[i].p->relativeQuality() * _paths[i].p->packetDelayVariance(); } } - return pdv; + return (int)pdv; } int Peer::computeAggregateLinkMeanLatency() @@ -337,7 +337,7 @@ int Peer::computeAggregateLinkMeanLatency() 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(); + ml += (int)(_paths[i].p->relativeQuality() * _paths[i].p->meanLatency()); } } return ml / pathCount; diff --git a/node/RingBuffer.hpp b/node/RingBuffer.hpp index 8b11e9b1..0f29a89a 100644 --- a/node/RingBuffer.hpp +++ b/node/RingBuffer.hpp @@ -268,7 +268,7 @@ public: for (size_t i=0; i<curr_cnt; i++) { iterator = (iterator + S - 1) % curr_cnt; float deviation = (buf[i] - cached_mean); - sum_of_squared_deviations += (deviation*deviation); + sum_of_squared_deviations += (T)(deviation*deviation); } float variance = (float)sum_of_squared_deviations / (float)(S - 1); return variance; diff --git a/node/Switch.cpp b/node/Switch.cpp index 55275dc3..a9c882fb 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -601,7 +601,7 @@ void Switch::aqm_enqueue(void *tPtr, const SharedPtr<Network> &network, Packet & uint64_t Switch::control_law(uint64_t t, int count) { - return t + ZT_QOS_INTERVAL / sqrt(count); + return (uint64_t)(t + ZT_QOS_INTERVAL / sqrt(count)); } Switch::dqr Switch::dodequeue(ManagedQueue *q, uint64_t now) |