rtt.c File Reference

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.


Detailed Description

This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values.


Function Documentation

void rtt_init ( struct rtt_info rtt  ) 

Initialize RTT estimators.

Parameters:
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.

Parameters:
rtt,: round trip statistics structure.
Returns:
: timeout to use in milliseconds. Relative time value.

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.

Parameters:
rtt,: round trip statistics structure.
Returns:
: value to use in milliseconds.

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.

Parameters:
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.

Parameters:
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().


Generated on Mon Nov 16 11:51:38 2009 for unbound by  doxygen 1.5.9