#
-# $Id: cf.data.pre,v 1.202 2000/12/30 23:29:06 wessels Exp $
+# $Id: cf.data.pre,v 1.203 2001/01/01 23:09:59 wessels Exp $
#
#
# SQUID Internet Object Cache http://squid.nlanr.net/Squid/
which are no more than this many hops away.
DOC_END
+NAME: minimum_direct_rtt
+TYPE: int
+DEFAULT: 400
+LOC: Config.minDirectRtt
+DOC_START
+ If using the ICMP pinging stuff, do direct fetches for sites
+ which are no more than this many rtt milliseconds away.
+DOC_END
NAME: cachemgr_passwd
TYPE: cachemgrpasswd
/*
- * $Id: peer_select.cc,v 1.109 2000/10/17 08:06:04 adrian Exp $
+ * $Id: peer_select.cc,v 1.110 2001/01/01 23:09:59 wessels Exp $
*
* DEBUG: section 44 Peer Selection Algorithm
* AUTHOR: Duane Wessels
static int
peerCheckNetdbDirect(ps_state * psstate)
{
- peer *p = whichPeer(&psstate->closest_parent_miss);
+ peer *p;
int myrtt;
int myhops;
- if (p == NULL)
- return 0;
if (psstate->direct == DIRECT_NO)
return 0;
myrtt = netdbHostRtt(psstate->request->host);
debug(44, 3) ("peerCheckNetdbDirect: MY RTT = %d msec\n", myrtt);
- debug(44, 3) ("peerCheckNetdbDirect: closest_parent_miss RTT = %d msec\n",
- psstate->ping.p_rtt);
- if (myrtt && myrtt < psstate->ping.p_rtt)
+ debug(44, 3) ("peerCheckNetdbDirect: minimum_direct_rtt = %d msec\n",
+ Config.minDirectRtt);
+ if (myrtt && myrtt <= Config.minDirectRtt)
return 1;
myhops = netdbHostHops(psstate->request->host);
debug(44, 3) ("peerCheckNetdbDirect: MY hops = %d\n", myhops);
Config.minDirectHops);
if (myhops && myhops <= Config.minDirectHops)
return 1;
+ p = whichPeer(&psstate->closest_parent_miss);
+ if (p == NULL)
+ return 0;
+ debug(44, 3) ("peerCheckNetdbDirect: closest_parent_miss RTT = %d msec\n",
+ psstate->ping.p_rtt);
+ if (myrtt && myrtt <= psstate->ping.p_rtt)
+ return 1;
return 0;
}
ps->direct = DIRECT_NO;
} else if (request->flags.loopdetect) {
ps->direct = DIRECT_YES;
+ } else if (peerCheckNetdbDirect(ps)) {
+ ps->direct = DIRECT_YES;
} else {
ps->direct = DIRECT_MAYBE;
}
/*
- * $Id: structs.h,v 1.368 2000/12/30 23:29:07 wessels Exp $
+ * $Id: structs.h,v 1.369 2001/01/01 23:09:59 wessels Exp $
*
*
* SQUID Internet Object Cache http://squid.nlanr.net/Squid/
int size;
} fqdncache;
int minDirectHops;
+ int minDirectRtt;
cachemgr_passwd *passwd_list;
struct {
int objectsPerBucket;