about squid code regardin peer selection

From: atit_ldce <atit_ldce@dont-contact.us>
Date: Mon, 17 Mar 2003 23:35:07 +0530 (GMT+05:30)

Hello friends
i found confusion in Squid which are as follow....

what is function of whichPeer? it seems to seach into curren squid conf to identify which peer is matching with arg *from

it is called from peerCheckNetdbDirect() function with &psstate->closest_parent_miss as arg

but psstate->closest_parent_miss is assigned value in other function named peerIcpParentMiss and
peerHtcpParentMiss which are called after peerCheckNetdbDirect()

so i think value of closest_parent_miss will be unknown ( garbage) at the time of call to which peer

am i right or am i making any mistake in understanding?
-----------------------------------------------------
in peerSelectFoo()

considering following fragmnent of code

    if (Config.onoff.prefer_direct)
            peerGetSomeDirect(ps);
        if (request->flags.hierarchical || !Config.onoff.nonhierarchical_direct)
            peerGetSomeParent(ps);
        if (!Config.onoff.prefer_direct)
            peerGetSomeDirect(ps);

in first condition we are sending request directly to origin server if prefer_direct is on
then why in 3 rd condition we are sending request directly to origin server if prefer_direct is off.

doesn't both seems to contradictory?
--------------------------------------------------
in peerGetSomeParent() we use ANY_OLD_PARENT as last choice.
then why again simmilar code is performed in peerGetAllParents()?

is it neccessary in second one?
if yes can any one give me the example?

---------------------
regards
 atit jariwala

_____________________________________________________________________
Get your internet connection from the fastest growing digital network.
ICENET
visit our site www.icenet.net
Received on Mon Mar 17 2003 - 05:39:43 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:33 MST