<article>
<title>Squid 3.0 release notes</title>
<author>Squid Developers</author>
-<date>$Id: release-3.0.sgml,v 1.12 2003/08/05 08:52:36 hno Exp $</date>
+<date>$Id: release-3.0.sgml,v 1.13 2003/08/13 00:39:12 wessels Exp $</date>
<abstract>
This document contains the release notes for version 3.0 of Squid.
<item>Requests denied due to 'http_reply_access' are now logged with TCP_DENIED_REPLY.
<item>Added counters for HTCP messages sent and received, reported
in 'info' cache manager page.
+ <item>Fixed 'ICP dynamic timeout algorithm ignores multicast' bug
</itemize>
<sect>Changes to squid.conf
/*
- * $Id: neighbors.cc,v 1.321 2003/08/10 11:00:43 robertc Exp $
+ * $Id: neighbors.cc,v 1.322 2003/08/13 00:39:16 wessels Exp $
*
* DEBUG: section 15 Neighbor Routines
* AUTHOR: Harvest Derived
int peers_pinged = 0;
int parent_timeout = 0, parent_exprep = 0;
int sibling_timeout = 0, sibling_exprep = 0;
+ int mcast_timeout = 0, mcast_exprep = 0;
if (Config.peers == NULL)
return 0;
* says a multicast peer is dead.
*/
p->stats.last_reply = squid_curtime;
- (*exprep) += p->mcast.n_replies_expected;
+ mcast_exprep += p->mcast.n_replies_expected;
+ mcast_timeout += (p->stats.rtt * p->mcast.n_replies_expected);
} else if (neighborUp(p)) {
/* its alive, expect a reply from it */
/*
* How many replies to expect?
*/
- *exprep = parent_exprep + sibling_exprep;
+ *exprep = parent_exprep + sibling_exprep + mcast_exprep;
/*
* If there is a configured timeout, use it
if (*exprep > 0) {
if (parent_exprep)
*timeout = 2 * parent_timeout / parent_exprep;
+ else if (mcast_exprep)
+ *timeout = 2 * mcast_timeout / mcast_exprep;
else
*timeout = 2 * sibling_timeout / sibling_exprep;
} else