An example I'd like to do (or mentor someone) is a mod_memcached that
could serve as the basis of memcached based modules. It could handle
all the configuration details, errors, and general heavy lifting of
memcached. It would then be very easy to write other modules that had
hooks into memcached (ie, a mod_cache provider).
Perhaps to abstract it even further, perhaps mod_memcached should be a
provider for a more generic caching framework. Not HTTP specific like
mod_cache, but a general key based cache. Could be used for a variety
of things (including an HTTP cache).
typedef struct {
apr_status_t (*cache_create)(ap_cache_t **instance, apr_table_t
*params);
apr_status_t (*cache_stats)(ap_cache_t *instance, ap_cache_stats_t
**stats);
apr_status_t (*cache_set)(ap_cache_t *instance, const char *key,
void *val, apr_size_t len, apr_time_t expires);
/*
other stuff, like get, replace, etc.
*/
} cache_provider_t;
Just "thinking out loud."
Also, mod_cache should be renamed mod_http_cache
--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies