> When a client request find an object that is in progress state. If there is
> nothing to prove that the object is not cache-able. For example, the object
> is new OBJECT_INITIAL. The request will be attached to the object to share
> the server reply.

Right.

> When the server replies to the object and indicate that it is not
> cache-able. The object is privatized or marked not cache-able so that later
> request won't match it.

Not quite.  First, note that Polipo has two notions of ``private'', which
is unfortunate but historical (I initially didn't understand they were
separate notions).  There's OBJECT_PRIVATE, which means that an object will
be discarded from the cache as soon as it's safe, and there's HTTP_PRIVATE,
which implies that it must be revalidated under some circumstances.

> But how does polipo re-issue the other requests already attached to the
> object?

Out of the requests that caused this object to be fetched, one is
distinguished as having caused the fetch; this is the one stored in
object->requestor.  If an object turns out to be unservable for a request,
then the request cannot be the requestor, and it will be fetched requested
again by clientNoticeRequest, which is called from client.c at line 1415.

The original instance will subsequently be privatised by supersedeObject,
called by httpServerHandlerHeaders, and the remaining client-side requests
will switch to a new object in the messy code around line 1384 in client.c.

Yes, it's a mess.  All of this needs a redesign.  Anyone willing to pay me
6 moths' salary?  (Just kidding, I'm happy with my job.)

                                        Juliusz

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Polipo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to