Joe Orton wrote:
The cleanest and simplest way to extract the session cache providers from mod_ssl seems to be like this:

1) define the provider vtable structure in a header, ap_socache.h

2) implement all the provider backends in separate modules, mod_socache_*

There's no central registration of new backends required like this; a new provider can be added simply by loading a new module.

I have a mild preference for the name "socache" over the suggested alternatives; "mod_small_cache_blah" would be too long, "mod_gicache" for "generic internal" is a slight misnomer since the cache is not necessarily "internal" i.e. memcache/distcache.

Still to do:

* pass a "hints" structure to the ->init to define expected object sizes so shmcb caches can be sized correctly, along with a namespace string which can be used by memcache as a key prefix
* doxygenify the comments in ap_socache.h
* update comments through to be less mod_ssl-centric
* test more ;)

[Patch shows diffs relative to original ssl_scache_* for the providers]

Does it make sense to do this in a branch in subversion?

Reply via email to