aboutsummaryrefslogtreecommitdiffstats
path: root/examples/rto.aup
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rto.aup')
-rw-r--r--examples/rto.aup6
1 files changed, 3 insertions, 3 deletions
diff --git a/examples/rto.aup b/examples/rto.aup
index 1d147eb..55412a7 100644
--- a/examples/rto.aup
+++ b/examples/rto.aup
@@ -23,7 +23,7 @@ input transmit = message { seq: u32 }
input ack = message { seq: u32 }
input tick = every 10 ms
-fn LOWEST = 1000; fn HIGHEST = 60000; fn PERIOD = 10 # milliseconds; the clock's granularity G is the tick's period
+fn LOWEST = 1000; fn HIGHEST = 60000 # milliseconds
on transmit {
outstanding.append(Segment { seq: transmit.seq, sent: now })
@@ -46,10 +46,10 @@ on ack {
if !measured { # 2.2
srtt, rttvar, measured = r, r / 2, true
} else { # 2.3
- rttvar = 0.75 * rttvar + 0.25 * max(srtt - r, r - srtt)
+ rttvar = 0.75 * rttvar + 0.25 * abs(srtt - r)
srtt = 0.875 * srtt + 0.125 * r
}
- rto = min(max(srtt + max(PERIOD, 4 * rttvar), LOWEST), HIGHEST) # 2.4, 2.5
+ rto = min(max(srtt + max(tick.period, 4 * rttvar), LOWEST), HIGHEST) # 2.4, 2.5 (G: the tick's period)
}
deadline = if outstanding.count > 0 { now + rto } else { -1 } # 5.3, 5.2
}