Lines Matching defs:rtt
2 * util/rtt.c - UDP round trip time estimator for resend timeouts.
43 #include "util/rtt.h"
51 /** calculate RTO from rtt information */
53 calc_rto(const struct rtt_info* rtt)
56 int rto = rtt->srtt + 4*rtt->rttvar;
65 rtt_init(struct rtt_info* rtt)
67 rtt->srtt = 0;
68 rtt->rttvar = UNKNOWN_SERVER_NICENESS/4;
69 rtt->rto = calc_rto(rtt);
75 rtt_timeout(const struct rtt_info* rtt)
77 return rtt->rto;
81 rtt_unclamped(const struct rtt_info* rtt)
83 if(calc_rto(rtt) != rtt->rto) {
85 return rtt->rto;
88 return rtt->srtt + 4*rtt->rttvar;
92 rtt_update(struct rtt_info* rtt, int ms)
94 int delta = ms - rtt->srtt;
95 rtt->srtt += delta / 8; /* g = 1/8 */
98 rtt->rttvar += (delta - rtt->rttvar) / 4; /* h = 1/4 */
99 rtt->rto = calc_rto(rtt);
103 rtt_lost(struct rtt_info* rtt, int orig)
108 if(rtt->rto < orig)
115 if(rtt->rto <= orig) {
116 rtt->rto = orig;
117 if(rtt->rto > RTT_MAX_TIMEOUT)
118 rtt->rto = RTT_MAX_TIMEOUT;
122 int rtt_notimeout(const struct rtt_info* rtt)
124 return calc_rto(rtt);