public TimeOutManager() {
/*
* Here we set the timeout mechanisms. There is a default
* value, but this is now dynamic based on the observed
* RTT of the network
*/
//resend the request after 5 seconds by default
_min_timeout = 5000;
_global_stats = new TimeStats(_min_timeout, 0.98);
//Start with 50 sec timeout
_acked_rtt_stats = new TimeStats(_min_timeout * 10, 0.98);
_last_check = DateTime.UtcNow;
_send_stats = new Cache(1000);
_type_stats = new Cache(100);
_sync = new object();
}
private Pair<TimeStats,TimeStats> GetStatsFor(ISender s) {