atit_ldce wrote: > So i think peerPingTimeout() is called for each ICP Time out event.....
Yes. > So call for peerGetSomeNeighborReplies() is unneccessary only in > case where we got ICP time out from all peers Yes. > in all other case call of peerGetSomeNeighborReplies() will use > the ICP Reply message received from some peer(s) to make peer > selection decision.. yes. > and befoe doing ICP Ping we also check for neighbors which are up > and if some found up there is a rare chance for them not to > respond within time limit.. Yes, but it is not that rare with timeouts or lost ICP replies. Not only is UDP unreliable, Squid also aggressively tunes the timeout to not have to wait for the slowest peers all the time when you have a mix of fast and slow peers. The default timeout is calculated as twice the average parent roundtrip time (or sibling roundtrip time if there is no alive parents). See neighborsUdpPing(). > So coclusion we have always high probabilty for ICP Reply... Yes, but also a relatively high probabity of ICP timeout. > Am i making sense? Yes. > I would like to send u following diagram for review.... > 1)Peer selection process > 2)ICP Communication Handler > 3)STD for peer selection Process > 4)STD for Request forwarding.. > > will u review others ones? I am happy to review any diagrams or documentation of the peer selection process you make, assuming you are making this documentation available to the public. Regards Henrik
