You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2008/04/09 18:13:03 UTC

svn commit: r646415 - /httpd/httpd/trunk/modules/cache/ap_socache.h

Author: jorton
Date: Wed Apr  9 09:13:02 2008
New Revision: 646415

URL: http://svn.apache.org/viewvc?rev=646415&view=rev
Log:
* modules/cache/ap_socache.h: Doxify.

Modified:
    httpd/httpd/trunk/modules/cache/ap_socache.h

Modified: httpd/httpd/trunk/modules/cache/ap_socache.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/ap_socache.h?rev=646415&r1=646414&r2=646415&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/cache/ap_socache.h (original)
+++ httpd/httpd/trunk/modules/cache/ap_socache.h Wed Apr  9 09:13:02 2008
@@ -30,80 +30,129 @@
 #include "ap_provider.h"
 #include "apr_pools.h"
 
-/* If this flag is set, the store/retrieve/delete/status interfaces of
- * the provider are NOT safe to be called concurrently from multiple
- * processes or threads, and an external global mutex must be used to
- * serialize access to the provider. */
+/** If this flag is set, the store/retrieve/delete/status interfaces
+ * of the provider are NOT safe to be called concurrently from
+ * multiple processes or threads, and an external global mutex must be
+ * used to serialize access to the provider. */
 #define AP_SOCACHE_FLAG_NOTMPSAFE (0x0001)
 
-/* A cache instance. */
+/** A cache instance. */
 typedef struct ap_socache_instance_t ap_socache_instance_t;
 
-/* Hints which may be passed to the init function; providers may
+/** Hints which may be passed to the init function; providers may
  * ignore some or all of these hints. */
 struct ap_socache_hints {
-    /* Approximate average length of IDs: */
+    /** Approximate average length of IDs: */
     apr_size_t avg_id_len;
-    /* Approximate average size of objects: */
+    /** Approximate average size of objects: */
     apr_size_t avg_obj_size;
-    /* Interval (in seconds) after which an expiry run is
+    /** Interval (in seconds) after which an expiry run is
      * necessary. */
     time_t expiry_interval;
 };
 
+/** A socache provider structure.  socache providers are registered
+ * with the ap_provider.h interface using the AP_SOCACHE_PROVIDER_*
+ * constants. */
 typedef struct ap_socache_provider_t {
-    /* Canonical provider name: */
+    /** Canonical provider name: */
     const char *name;
 
-    /* Bitmask of AP_SOCACHE_FLAG_* flags: */
+    /** Bitmask of AP_SOCACHE_FLAG_* flags: */
     unsigned int flags;
 
-    /* Create a session cache based on the given configuration string
-     * ARG.  Returns NULL on success, or an error string on failure.
-     * Pool TMP should be used for any temporary allocations, pool P
-     * should be used for any allocations lasting as long as the
-     * lifetime of the return context.
+    /** 
+     * 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.
      *
-     * The context pointer returned in *INSTANCE will be passed as the
-     * first argument to subsequent invocations. */
+     * @param instance Output parameter to which instance object is written.
+     * @param arg Used-specified configuration string
+     * @param tmp Pool to be used for any temporary allocations
+     * @param p Pool to be use for any allocations lasting as long as 
+     * the created instance
+     * @return NULL on success, or an error string on failure.
+     */
     const char *(*create)(ap_socache_instance_t **instance, const char *arg, 
                           apr_pool_t *tmp, apr_pool_t *p);
+
     /* Initialize the cache.  NAMESPACE must given a unique string
      * prefix for use with memcached; if hints is non-NULL, it gives a
-     * set of hints for the provider.  Return APR error code.  */
+     * set of hints for the provider.  Return APR error code. 
+
+     * @param instance The cache instance
+     * @param namespace A unique string identifying the consumer of this API
+     * @param hints Optional hints argument describing expected cache use
+     * @param s Server structure to which the cache is associated
+     * @param pool Pool for long-lived allocations
+     * @return APR status value indicating success.
+     */
     apr_status_t (*init)(ap_socache_instance_t *instance, const char *namespace, 
                          const struct ap_socache_hints *hints,
                          server_rec *s, apr_pool_t *pool);
-    /* Destroy a given cache context. */    
+
+    /** 
+     * Destroy a given cache instance object.
+     * @param instance The cache instance to destroy.
+     * @param s Associated server structure (for logging purposes)
+     */
     void (*destroy)(ap_socache_instance_t *instance, server_rec *s);
-    /* Store an object in the cache with key ID of length IDLEN, with
-     * DATA of length DATALEN.  The object expires at abolute time
-     * EXPIRY.  */
+
+    /** 
+     * Store an object in a cache instance.
+     * @param instance The cache instance
+     * @param s Associated server structure (for logging purposes)
+     * @param id Unique ID for the object; binary blob
+     * @param idlen Length of id blob
+     * @param expiry Absolute time at which the object expires
+     * @param data Data to store; binary blob
+     * @param datalen Length of data blob
+     */
     apr_status_t (*store)(ap_socache_instance_t *instance, server_rec *s, 
                           const unsigned char *id, unsigned int idlen, 
                           time_t expiry, 
                           unsigned char *data, unsigned int datalen);
-    /* Retrieve cached object with key ID of length IDLEN, returning
-     * TRUE on success or FALSE otherwise.  If TRUE, the data must be
-     * placed in DEST, which has length on entry of *DESTLEN.
-     * *DESTLEN must be updated to equal the length of data written on
-     * exit. */
+
+    /**
+     * Retrieve a cached object.
+     * @param instance The cache instance
+     * @param s Associated server structure (for logging purposes)
+     * @param id Unique ID for the object; binary blob
+     * @param idlen Length of id blob
+     * @param data Output buffer to place retrievd data (binary blob)
+     * @param datalen On entry, length of data buffer; on exit, the
+     * number of bytes written to the data buffer.
+     * @param pool Pool for temporary allocations.
+     */
     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);
-    /* Remove an object from the cache with key ID of length IDLEN.
-     * POOL may be used for temporary allocations. */
+
+    /* Remove an object from the cache
+     * @param instance The cache instance
+     * @param s Associated server structure (for logging purposes)
+     * @param id Unique ID for the object; binary blob
+     * @param idlen Length of id blob
+     * @param pool Pool for temporary allocations.
+     */
     void (*delete)(ap_socache_instance_t *instance, server_rec *s,
                    const unsigned char *id, unsigned int idlen,
                    apr_pool_t *pool);
-    /* Dump cache status for mod_status output. */
+
+    /** Dump the status of a cache instance for mod_status.  Will use
+     * the ap_r* interfaces to produce appropriate status output.
+     *
+     * @param instance The cache instance
+     * @param r The request structure
+     * @param flags The AP_STATUS_* constants used (see mod_status.h)
+     */
     void (*status)(ap_socache_instance_t *instance, request_rec *r, int flags);
 } ap_socache_provider_t;
 
-/* Cache providers are registered using the ap_provider_* interface,
- * with the following group and version:  */
+/** The provider group used to register socache providers. */
 #define AP_SOCACHE_PROVIDER_GROUP "socache"
+/** The provider version used to register socache providers. */
 #define AP_SOCACHE_PROVIDER_VERSION "0"
 
 #endif /* AP_SOCACHE_H */