summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2011-12-06 15:53:23 +0100
committerGraham Leggett <minfrin@apache.org>2011-12-06 15:53:23 +0100
commit3775da21590e1ace41239a58ca71785a7f6843c4 (patch)
treed23db067fe8bfb21cddecf115f53d09e2055c421
parentNetWare build fixes. (diff)
downloadapache2-3775da21590e1ace41239a58ca71785a7f6843c4.tar.xz
apache2-3775da21590e1ace41239a58ca71785a7f6843c4.zip
Create initial documentation for mod_socache_shmcb, mod_socache_dc,
mod_socache_dbm and mod_socache_memcache. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1210951 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--docs/manual/mod/allmodules.xml4
-rw-r--r--docs/manual/mod/mod_socache_dbm.xml47
-rw-r--r--docs/manual/mod/mod_socache_dc.xml44
-rw-r--r--docs/manual/mod/mod_socache_memcache.xml44
-rw-r--r--docs/manual/mod/mod_socache_shmcb.xml47
-rw-r--r--docs/manual/mod/mod_ssl.xml4
-rw-r--r--docs/manual/socache.xml59
7 files changed, 243 insertions, 6 deletions
diff --git a/docs/manual/mod/allmodules.xml b/docs/manual/mod/allmodules.xml
index f519531048..2e0706ca80 100644
--- a/docs/manual/mod/allmodules.xml
+++ b/docs/manual/mod/allmodules.xml
@@ -98,6 +98,10 @@
<modulefile>mod_slotmem_plain.xml</modulefile>
<modulefile>mod_slotmem_shm.xml</modulefile>
<modulefile>mod_so.xml</modulefile>
+ <modulefile>mod_socache_dbm.xml</modulefile>
+ <modulefile>mod_socache_dc.xml</modulefile>
+ <modulefile>mod_socache_memcache.xml</modulefile>
+ <modulefile>mod_socache_shmcb.xml</modulefile>
<modulefile>mod_speling.xml</modulefile>
<modulefile>mod_ssl.xml</modulefile>
<modulefile>mod_status.xml</modulefile>
diff --git a/docs/manual/mod/mod_socache_dbm.xml b/docs/manual/mod/mod_socache_dbm.xml
new file mode 100644
index 0000000000..874327e2c9
--- /dev/null
+++ b/docs/manual/mod/mod_socache_dbm.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision: 1210261 $ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_socache_dbm.xml.meta">
+
+<name>mod_socache_dbm</name>
+<description>DBM based shared object cache provider.</description>
+<status>Extension</status>
+<sourcefile>mod_socache_dbm.c</sourcefile>
+<identifier>mod_socache_dbm_module</identifier>
+
+<summary>
+ <p><code>mod_socache_dbm</code> is a shared object cache provider
+ which provides for creation and access to a cache backed by a
+ DBM database.
+ </p>
+
+ <example>
+ dbm:/path/to/datafile
+ </example>
+
+ <p>Details of other shared object cache providers can be found
+ <a href="../socache.html">here</a>.
+ </p>
+
+</summary>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_socache_dc.xml b/docs/manual/mod/mod_socache_dc.xml
new file mode 100644
index 0000000000..2cd0cb6af3
--- /dev/null
+++ b/docs/manual/mod/mod_socache_dc.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision: 1210261 $ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_socache_dc.xml.meta">
+
+<name>mod_socache_dc</name>
+<description>Distcache based shared object cache provider.</description>
+<status>Extension</status>
+<sourcefile>mod_socache_dc.c</sourcefile>
+<identifier>mod_socache_dc_module</identifier>
+
+<summary>
+ <p><code>mod_socache_dc</code> is a shared object cache provider
+ which provides for creation and access to a cache backed by the
+ <a href="http://www.distcache.org/">distcache</a>
+ distributed session caching libraries.
+ </p>
+
+ <p>Details of other shared object cache providers can be found
+ <a href="../socache.html">here</a>.
+ </p>
+
+</summary>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_socache_memcache.xml b/docs/manual/mod/mod_socache_memcache.xml
new file mode 100644
index 0000000000..0ef91c6982
--- /dev/null
+++ b/docs/manual/mod/mod_socache_memcache.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision: 1210261 $ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_socache_memcache.xml.meta">
+
+<name>mod_socache_memcache</name>
+<description>Memcache based shared object cache provider.</description>
+<status>Extension</status>
+<sourcefile>mod_socache_memcache.c</sourcefile>
+<identifier>mod_socache_memcache_module</identifier>
+
+<summary>
+ <p><code>mod_socache_memcache</code> is a shared object cache provider
+ which provides for creation and access to a cache backed by the
+ <a href="http://memcached.org/">memcached</a>
+ high-performance, distributed memory object caching system.
+ </p>
+
+ <p>Details of other shared object cache providers can be found
+ <a href="../socache.html">here</a>.
+ </p>
+
+</summary>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_socache_shmcb.xml b/docs/manual/mod/mod_socache_shmcb.xml
new file mode 100644
index 0000000000..85d5919034
--- /dev/null
+++ b/docs/manual/mod/mod_socache_shmcb.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision: 1210261 $ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_socache_shmcb.xml.meta">
+
+<name>mod_socache_shmcb</name>
+<description>shmcb based shared object cache provider.</description>
+<status>Extension</status>
+<sourcefile>mod_socache_shmcb.c</sourcefile>
+<identifier>mod_socache_shmcb_module</identifier>
+
+<summary>
+ <p><code>mod_socache_shmcb</code> is a shared object cache provider
+ which provides for creation and access to a cache backed by a
+ high-performance cyclic buffer inside a shared memory segment.
+ </p>
+
+ <example>
+ shmcb:/path/to/datafile(512000)
+ </example>
+
+ <p>Details of other shared object cache providers can be found
+ <a href="../socache.html">here</a>.
+ </p>
+
+</summary>
+
+</modulesynopsis>
diff --git a/docs/manual/mod/mod_ssl.xml b/docs/manual/mod/mod_ssl.xml
index 041446961e..557f6e5d7c 100644
--- a/docs/manual/mod/mod_ssl.xml
+++ b/docs/manual/mod/mod_ssl.xml
@@ -453,7 +453,7 @@ The following five storage <em>type</em>s are currently supported:</p>
processes. This session cache may suffer reliability issues under
high load.</p></li>
-<li><code>shm:/path/to/datafile</code>[<code>(</code><em>size</em><code>)</code>]
+<li><code>shmcb:/path/to/datafile</code>[<code>(</code><em>size</em><code>)</code>]
<p>This makes use of a high-performance cyclic buffer
(approx. <em>size</em> bytes in size) inside a shared memory
@@ -476,7 +476,7 @@ The following five storage <em>type</em>s are currently supported:</p>
<example><title>Examples</title>
SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data<br />
-SSLSessionCache shm:/usr/local/apache/logs/ssl_gcache_data(512000)
+SSLSessionCache shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)
</example>
<p>The <code>ssl-cache</code> mutex is used to serialize access to
diff --git a/docs/manual/socache.xml b/docs/manual/socache.xml
index 8a7b7d1c0f..20cae8e65f 100644
--- a/docs/manual/socache.xml
+++ b/docs/manual/socache.xml
@@ -45,20 +45,71 @@
<directive module="ssl">SSLStaplingCache</directive>.</p>
<p>Currently available providers are:</p>
<dl>
- <dt>"dbm" (mod_socache_dbm)</dt>
+ <dt>"dbm" (<module>mod_socache_dbm</module>)</dt>
<dd>This makes use of a DBM hash file.
The choice of underlying DBM used may be configurable
if the installed APR version supports multiple DBM implementations.</dd>
- <dt>"dc" (mod_socache_dc)</dt>
+ <dt>"dc" (<module>mod_socache_dc</module>)</dt>
<dd>This makes use of the <a href="http://www.distcache.org/">distcache</a>
distributed session caching libraries.</dd>
- <dt>"memcache" (mod_socache_memcache)</dt>
+ <dt>"memcache" (<module>mod_socache_memcache</module>)</dt>
<dd>This makes use of the <a href="http://memcached.org/">memcached</a>
high-performance, distributed memory object caching system.</dd>
- <dt>"shmcb" (mod_socache_shmcb)</dt>
+ <dt>"shmcb" (<module>mod_socache_shmcb</module>)</dt>
<dd>This makes use of a high-performance cyclic buffer inside a
shared memory segment.</dd>
</dl>
+
+ <p>The API provides the following functions:</p>
+
+ <dl>
+ <dt>const char *create(ap_socache_instance_t **instance, const char *arg,
+ apr_pool_t *tmp, apr_pool_t *p);</dt>
+ <dd>Create a session cache based on the given configuration string.
+ The instance pointer returned in the instance paramater will be
+ passed as the first argument to subsequent invocations.</dd>
+
+ <dt>apr_status_t init(ap_socache_instance_t *instance, const char *cname,
+ const struct ap_socache_hints *hints,
+ server_rec *s, apr_pool_t *pool)</dt>
+ <dd>Initialize the cache. The cname must be of maximum length 16
+ characters, and uniquely identifies the consumer of the cache
+ within the server; using the module name is recommended, e.g.
+ "mod_ssl-sess". This string may be used within a filesystem
+ path so use of only alphanumeric [a-z0-9_-] characters is
+ recommended. If hints is non-NULL, it gives a set of hints for
+ the provider. Return APR error code.</dd>
+
+ <dt>void destroy(ap_socache_instance_t *instance, server_rec *s)</dt>
+ <dd>Destroy a given cache instance object.</dd>
+
+ <dt>apr_status_t store(ap_socache_instance_t *instance, server_rec *s,
+ const unsigned char *id, unsigned int idlen,
+ apr_time_t expiry,
+ unsigned char *data, unsigned int datalen,
+ apr_pool_t *pool)</dt>
+ <dd>Store an object in a cache instance.</dd>
+
+ <dt>apr_status_t retrieve(ap_socache_instance_t *instance, server_rec *s,
+ const unsigned char *id, unsigned int idlen,
+ unsigned char *data, unsigned int *datalen,
+ apr_pool_t *pool)</dt>
+ <dd>Retrieve a cached object.</dd>
+
+ <dt>apr_status_t remove(ap_socache_instance_t *instance, server_rec *s,
+ const unsigned char *id, unsigned int idlen,
+ apr_pool_t *pool)</dt>
+ <dd>Remove an object from the cache.</dd>
+
+ <dt>void status(ap_socache_instance_t *instance, request_rec *r, int flags)</dt>
+ <dd>Dump the status of a cache instance for mod_status.</dd>
+
+ <dt>apr_status_t iterate(ap_socache_instance_t *instance, server_rec *s,
+ void *userctx, ap_socache_iterator_t *iterator,
+ apr_pool_t *pool)</dt>
+ <dd>Dump all cached objects through an iterator callback.</dd>
+ </dl>
+
</section>
</manualpage>