PeerLoadStats loadStats;
synchronized(routedToLock) {
if(lastIncomingLoadStats == null) return null;
loadStats = lastIncomingLoadStats;
}
RunningRequestsSnapshot runningRequests = node.nodeStats.getRunningRequestsTo(PeerNode.this, loadStats.averageTransfersOutPerInsert, realTime);
RunningRequestsSnapshot otherRunningRequests = loadStats.getOtherRunningRequests();
boolean ignoreLocalVsRemoteBandwidthLiability = node.nodeStats.ignoreLocalVsRemoteBandwidthLiability();
return new IncomingLoadSummaryStats(runningRequests.totalRequests(),
loadStats.outputBandwidthPeerLimit, loadStats.inputBandwidthPeerLimit,
loadStats.outputBandwidthUpperLimit, loadStats.inputBandwidthUpperLimit,
runningRequests.calculate(ignoreLocalVsRemoteBandwidthLiability, false),
runningRequests.calculate(ignoreLocalVsRemoteBandwidthLiability, true),
otherRunningRequests.calculate(ignoreLocalVsRemoteBandwidthLiability, false),
otherRunningRequests.calculate(ignoreLocalVsRemoteBandwidthLiability, true));
}