unbound 0.1
|
This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values. More...
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. | |
int | rtt_notimeout (const struct rtt_info *rtt) |
RTT for valid responses. |
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 host_entry_init(), 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().
int rtt_notimeout | ( | const struct rtt_info * | rtt | ) |
RTT for valid responses.
Without timeouts.
rtt,: | round trip statistics structure. |
References calc_rto().
Referenced by dump_infra_host(), infra_get_lame_rtt(), infra_host(), and print_dp_details().