Squid uses a store entry for each object, cached or not.
A store entry with a private key is unshareable, and is for the current
client only. All objects starts as private until Squid has enought
information to decide that the object is shareable and the public key is
made.
When Squid has processed a new object is expunges any stale cached HEAD
responce from the cache, that is why you see a public key generated
after the request (note that it says HEAD and not GET).
Also note that the call you are watched is "storeGenerateKey" which does
not set the key of a store entry, it merely calculates a key for the
given conditions which is then used to either do a look-up in the store
index or as the store index key for a object.
What you saw was:
1. Generate public key to check if the object is cached
2. Create a new store entry (it was a miss?)
3. Make it private to start with
4. Request completed (uncacheable? no public key generated..)
5. Generate HEAD key to check if that is cached.
--- Henrik Nordstr�m Sparetime Squid Hacker > As I said, I do not understand the necessesity for calling > storeCreateEntry() and the call to storeGeneratePrivateKey() > within that. > > Also, who is calling the storeGeneratePublicKey() after my > icpProcessRequest() is over? Why is it being called? > > I would really appreciate if anybody can solve all my questions. > Thanks for your time. > > - JayakumarReceived on Thu Aug 27 1998 - 00:07:46 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:41:44 MST