This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values. More...
#include "config.h"
#include "util/rtt.h"
#include "util/log.h"
Functions | |
static int | calc_rto (const struct rtt_info *rtt) |
calculate RTO from rtt information | |
void | rtt_init (struct rtt_info *rtt) |
Initialize RTT estimators. | |
int | rtt_timeout (const struct rtt_info *rtt) |
Get timeout to use for sending a UDP packet. | |
int | rtt_unclamped (const struct rtt_info *rtt) |
Get unclamped timeout to use for server selection. | |
void | rtt_update (struct rtt_info *rtt, int ms) |
Update the statistics with a new roundtrip estimate observation. | |
void | rtt_lost (struct rtt_info *rtt, int orig) |
Update the statistics with a new timout expired observation. |
This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values.
void rtt_init | ( | struct rtt_info * | rtt | ) |
Initialize RTT estimators.
rtt,: | The structure. Caller is responsible for allocation of it. |
References calc_rto(), rtt_info::rto, rtt_info::rttvar, and rtt_info::srtt.
Referenced by infra_host(), new_host_entry(), and rtt_test().
int rtt_timeout | ( | const struct rtt_info * | rtt | ) |
Get timeout to use for sending a UDP packet.
rtt,: | round trip statistics structure. |
References rtt_info::rto.
Referenced by infra_host(), and rtt_test().
int rtt_unclamped | ( | const struct rtt_info * | rtt | ) |
Get unclamped timeout to use for server selection.
Recent timeouts are reflected in the returned value.
rtt,: | round trip statistics structure. |
References calc_rto(), rtt_info::rto, rtt_info::rttvar, and rtt_info::srtt.
Referenced by infra_get_lame_rtt().
void rtt_update | ( | struct rtt_info * | rtt, | |
int | ms | |||
) |
Update the statistics with a new roundtrip estimate observation.
rtt,: | round trip statistics structure. | |
ms,: | estimate of roundtrip time in milliseconds. |
References calc_rto(), rtt_info::rto, rtt_info::rttvar, and rtt_info::srtt.
Referenced by infra_rtt_update(), and rtt_test().
void rtt_lost | ( | struct rtt_info * | rtt, | |
int | orig | |||
) |
Update the statistics with a new timout expired observation.
rtt,: | round trip statistics structure. | |
orig,: | original rtt time given for the query that timed out. Used to calculate the maximum responsible backed off time that can reasonably be applied. |
References rtt_info::rto, and RTT_MAX_TIMEOUT.
Referenced by infra_rtt_update(), and rtt_test().