fix queuingDelay computation
This commit is contained in:
parent
3953a99913
commit
788f223dde
@ -13,13 +13,23 @@ class MpLinkCharacteristics:
|
|||||||
bandwidthDelayProduct = (float(self.bandwidth) * 125000.0) * (rtt / 1000.0)
|
bandwidthDelayProduct = (float(self.bandwidth) * 125000.0) * (rtt / 1000.0)
|
||||||
return int(math.ceil(bandwidthDelayProduct * 1.0 / 1500.0))
|
return int(math.ceil(bandwidthDelayProduct * 1.0 / 1500.0))
|
||||||
|
|
||||||
|
def extractQueuingDelay(queueSize, bandwidth, delay, mtu=1500):
|
||||||
|
rtt = 2 * float(delay)
|
||||||
|
bdp_queue_size = int(rtt * bandwidth * 1024 * 1024 / (mtu * 8 * 1000))
|
||||||
|
if int(queueSize) <= bdp_queue_size:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
queuingQueueSize = int(queueSize) - bdp_queue_size
|
||||||
|
queuingDelay = (queuingQueueSize * mtu * 8 * 1000) / (bandwidth * 1024 * 1024)
|
||||||
|
return int(queuingDelay)
|
||||||
|
|
||||||
def __init__(self, id, delay, queueSize, bandwidth, loss, back_up=False):
|
def __init__(self, id, delay, queueSize, bandwidth, loss, back_up=False):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.delay = delay
|
self.delay = delay
|
||||||
self.queueSize = queueSize
|
self.queueSize = queueSize
|
||||||
self.bandwidth = bandwidth
|
self.bandwidth = bandwidth
|
||||||
self.loss = loss
|
self.loss = loss
|
||||||
self.queuingDelay = str(int(1000.0 * int(queueSize) / self.bandwidthDelayProductDividedByMTU()))
|
self.queuingDelay = str(extractQueuingDelay(queueSize, bandwidth, delay))
|
||||||
self.netemAt = []
|
self.netemAt = []
|
||||||
self.back_up = back_up
|
self.back_up = back_up
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user