httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davi Arnaut <>
Subject SoC 2006, v1
Date Tue, 30 May 2006 02:52:33 GMT
> Doh, did you run a spell-check before you hit the "send" button? :)


I'm starting to work on my SoC 2006 proposal [1] and I want to let you
guys know how I will eventually proceed and what to expect. Your comments
and suggestions are welcome.

- What I am trying to achieve ?

A cache framework that features three layers of granularity: storage,
protocol and provider. On arrival of a request (ie: http request), the
protocol layer places filters into the protocol pipeline and decides
whether or not this content should be cached. If so, it requests a
a cache provider to the provider layer. The provider layer then mediates
and dispatches the data from the protocol modules to the various
storage modules. The I/O operations are handled by the storage layer
(storage modules) which retrieves and stores key/data pairs.

- How I will proceed ?

Initially, I will be refactoring the current mode cache code, without
altering its behavior. There are "functions" (ie: cache_save_filter)
taking more than 500 lines. I will separate those large functions
into smaller functions without changing functionality at all, making
the core more readable. This will also help me fully understand the
structure of the cache code. (Separated patches).

Further down the road, I want to rework the store_body|headers and
recall_body|headers function into single store and recall functions,
moving the http specific bits back to mod_cache and see how well it
works (later, those bits will be consolidated in a branding "new"
mod_cache_http - protocol layer). When I hit this point I'm going
to send a new report.

- Notes

Don't expect much work on this in June, my semester is ending (tests..
oh my) and there is the World Soccer Cup (FIFA) which nearly stops
the country (Brazil is expected to win its sixty championship).

Davi Arnaut

1. Redesigning and extending the Apache cache architecture.

View raw message