<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 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>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>
