[PATCH] StoreID stage 2\3 fully functional StoreID interface.

From: Eliezer Croitoru <eliezer_at_ngtech.co.il>
Date: Wed, 05 Dec 2012 17:24:33 +0200

This patch implements the StoreID fully functional but yet to take in
full account PURGE\ICP\HTCP requests.

The patch dose not apply the "mem-obj->url" change to
"mem-obj->store_id" since it's not needed for now but will be done later.

I wasnt sure about couple things so I left notes inside the code about them.

I am here for questions about anything.
There are things that I might not took in account and this is what the
patch here for.

This patch will not work without Tsantilas Christos helpers patch
(Helpers-fix.patch) which is embedded inside this one for now.
What will happen is that every second request for the same url will get
stuck somehow after the helper response.

In summery the basic idea is:
We need: option to allow the admin prevent objects duplication when he
knows what multi urls result in the same object.

The way to solve it: let the admin identify the url StoreID which was
until now was the MD5 hash of the method + url in the store index.

Also there are couple places which validate the object meta data against
the current request URL.
The original url was embedded into the cache object meta data and should
have caused problem to match the current request URL (since every time
they are different).

To solve all the above the StoreID replaces the original URL in the
relevant points such as MD5 calculation for index and StoreEntry
creation by url or request.
The above result in a mem-obj member of StoreEntry with a "url" variable
that holds the StoreID which in most cases will be the URL and when
StoreID feature overrides the URL by a StoreID it will be used instead.

Things that should be taken in account are that the index is MD5 hash of
METHOD+StoreID and there for I was thinking of enforcing basic StoreID
response size.

All the above affect the way of implementation.

I am sorry if there are things of newbie done in the code take in
account that this is my first time touching c++\c.

Thanks,
Eliezer

-- 
Eliezer Croitoru
https://www1.ngtech.co.il
sip:ngtech_at_sip2sip.info
IT consulting for Nonprofit organizations
eliezer <at> ngtech.co.il

Received on Wed Dec 05 2012 - 15:24:50 MST

This archive was generated by hypermail 2.2.0 : Thu Dec 06 2012 - 12:00:10 MST