You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by as...@apache.org on 2005/08/23 15:35:11 UTC

svn commit: r239406 - in /httpd/httpd/trunk: modules/cache/mod_disk_cache.c modules/cache/mod_disk_cache.h support/htcacheclean.c

Author: asteinmetz
Date: Tue Aug 23 06:35:00 2005
New Revision: 239406

URL: http://svn.apache.org/viewcvs?rev=239406&view=rev
Log:
Split mod_disk_cache.c into mod_disk_cache.c and mod_disk_cache.h
to allow inclusion of mod_disk_cache.h in htcacheclean.c.

Added:
    httpd/httpd/trunk/modules/cache/mod_disk_cache.h   (with props)
Modified:
    httpd/httpd/trunk/modules/cache/mod_disk_cache.c
    httpd/httpd/trunk/support/htcacheclean.c

Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/cache/mod_disk_cache.c?rev=239406&r1=239405&r2=239406&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/cache/mod_disk_cache.c (original)
+++ httpd/httpd/trunk/modules/cache/mod_disk_cache.c Tue Aug 23 06:35:00 2005
@@ -17,6 +17,7 @@
 #include "apr_file_io.h"
 #include "apr_strings.h"
 #include "mod_cache.h"
+#include "mod_disk_cache.h"
 #include "ap_provider.h"
 #include "util_filter.h"
 #include "util_script.h"
@@ -50,66 +51,6 @@
  *   CRLF
  */
 
-#define VARY_FORMAT_VERSION 3
-#define DISK_FORMAT_VERSION 4
-
-typedef struct {
-    /* Indicates the format of the header struct stored on-disk. */
-    apr_uint32_t format;
-    /* The HTTP status code returned for this response.  */
-    int status;
-    /* The size of the entity name that follows. */
-    apr_size_t name_len;
-    /* The number of times we've cached this entity. */
-    apr_size_t entity_version;
-    /* Miscellaneous time values. */
-    apr_time_t date;
-    apr_time_t expire;
-    apr_time_t request_time;
-    apr_time_t response_time;
-} disk_cache_info_t;
-
-/*
- * disk_cache_object_t
- * Pointed to by cache_object_t::vobj
- */
-typedef struct disk_cache_object {
-    const char *root;        /* the location of the cache directory */
-    apr_size_t root_len;
-    char *tempfile;    /* temp file tohold the content */
-    const char *prefix;
-    const char *datafile;    /* name of file where the data will go */
-    const char *hdrsfile;    /* name of file where the hdrs will go */
-    const char *hashfile;    /* Computed hash key for this URI */
-    const char *name;   /* Requested URI without vary bits - suitable for mortals. */
-    const char *key;    /* On-disk prefix; URI with Vary bits (if present) */
-    apr_file_t *fd;          /* data file */
-    apr_file_t *hfd;         /* headers file */
-    apr_file_t *tfd;         /* temporary file for data */
-    apr_off_t file_size;     /*  File size of the cached data file  */
-    disk_cache_info_t disk_info; /* Header information. */
-} disk_cache_object_t;
-
-
-/*
- * mod_disk_cache configuration
- */
-/* TODO: Make defaults OS specific */
-#define CACHEFILE_LEN 20        /* must be less than HASH_LEN/2 */
-#define DEFAULT_DIRLEVELS 3
-#define DEFAULT_DIRLENGTH 2
-#define DEFAULT_MIN_FILE_SIZE 1
-#define DEFAULT_MAX_FILE_SIZE 1000000
-
-typedef struct {
-    const char* cache_root;
-    apr_size_t cache_root_len;
-    int dirlevels;               /* Number of levels of subdirectories */
-    int dirlength;               /* Length of subdirectory names */
-    apr_size_t minfs;            /* minumum file size for cached files */
-    apr_size_t maxfs;            /* maximum file size for cached files */
-} disk_cache_conf;
-
 module AP_MODULE_DECLARE_DATA disk_cache_module;
 
 /* Forward declarations */
@@ -124,9 +65,6 @@
 /*
  * Local static functions
  */
-#define CACHE_HEADER_SUFFIX ".header"
-#define CACHE_DATA_SUFFIX   ".data"
-#define CACHE_VDIR_SUFFIX   ".vary"
 
 static char *header_file(apr_pool_t *p, disk_cache_conf *conf,
                          disk_cache_object_t *dobj, const char *name)
@@ -378,7 +316,6 @@
 /*
  * Hook and mod_cache callback functions
  */
-#define AP_TEMPFILE "/aptmpXXXXXX"
 static int create_entity(cache_handle_t *h, request_rec *r, const char *key, apr_off_t len)
 {
     disk_cache_conf *conf = ap_get_module_config(r->server->module_config,

Added: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/cache/mod_disk_cache.h?rev=239406&view=auto
==============================================================================
--- httpd/httpd/trunk/modules/cache/mod_disk_cache.h (added)
+++ httpd/httpd/trunk/modules/cache/mod_disk_cache.h Tue Aug 23 06:35:00 2005
@@ -0,0 +1,95 @@
+/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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.
+ */
+
+#ifndef MOD_DISK_CACHE_H
+#define MOD_DISK_CACHE_H
+
+/*
+ * include for mod_disk_cache: Disk Based HTTP 1.1 Cache.
+ */
+
+#define VARY_FORMAT_VERSION 3
+#define DISK_FORMAT_VERSION 4
+
+#define CACHE_HEADER_SUFFIX ".header"
+#define CACHE_DATA_SUFFIX   ".data"
+#define CACHE_VDIR_SUFFIX   ".vary"
+
+#define AP_TEMPFILE_PREFIX "/"
+#define AP_TEMPFILE_BASE   "aptmp"
+#define AP_TEMPFILE_SUFFIX "XXXXXX"
+#define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE)
+#define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX)
+#define AP_TEMPFILE AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX
+
+typedef struct {
+    /* Indicates the format of the header struct stored on-disk. */
+    apr_uint32_t format;
+    /* The HTTP status code returned for this response.  */
+    int status;
+    /* The size of the entity name that follows. */
+    apr_size_t name_len;
+    /* The number of times we've cached this entity. */
+    apr_size_t entity_version;
+    /* Miscellaneous time values. */
+    apr_time_t date;
+    apr_time_t expire;
+    apr_time_t request_time;
+    apr_time_t response_time;
+} disk_cache_info_t;
+
+/*
+ * disk_cache_object_t
+ * Pointed to by cache_object_t::vobj
+ */
+typedef struct disk_cache_object {
+    const char *root;        /* the location of the cache directory */
+    apr_size_t root_len;
+    char *tempfile;    /* temp file tohold the content */
+    const char *prefix;
+    const char *datafile;    /* name of file where the data will go */
+    const char *hdrsfile;    /* name of file where the hdrs will go */
+    const char *hashfile;    /* Computed hash key for this URI */
+    const char *name;   /* Requested URI without vary bits - suitable for mortals. */
+    const char *key;    /* On-disk prefix; URI with Vary bits (if present) */
+    apr_file_t *fd;          /* data file */
+    apr_file_t *hfd;         /* headers file */
+    apr_file_t *tfd;         /* temporary file for data */
+    apr_off_t file_size;     /*  File size of the cached data file  */
+    disk_cache_info_t disk_info; /* Header information. */
+} disk_cache_object_t;
+
+
+/*
+ * mod_disk_cache configuration
+ */
+/* TODO: Make defaults OS specific */
+#define CACHEFILE_LEN 20        /* must be less than HASH_LEN/2 */
+#define DEFAULT_DIRLEVELS 3
+#define DEFAULT_DIRLENGTH 2
+#define DEFAULT_MIN_FILE_SIZE 1
+#define DEFAULT_MAX_FILE_SIZE 1000000
+
+typedef struct {
+    const char* cache_root;
+    apr_size_t cache_root_len;
+    int dirlevels;               /* Number of levels of subdirectories */
+    int dirlength;               /* Length of subdirectory names */
+    apr_size_t minfs;            /* minumum file size for cached files */
+    apr_size_t maxfs;            /* maximum file size for cached files */
+} disk_cache_conf;
+
+#endif /*MOD_DISK_CACHE_H*/

Propchange: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: httpd/httpd/trunk/support/htcacheclean.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/support/htcacheclean.c?rev=239406&r1=239405&r2=239406&view=diff
==============================================================================
--- httpd/httpd/trunk/support/htcacheclean.c (original)
+++ httpd/httpd/trunk/support/htcacheclean.c Tue Aug 23 06:35:00 2005
@@ -34,6 +34,7 @@
 #include "apr_getopt.h"
 #include "apr_ring.h"
 #include "apr_date.h"
+#include "../modules/cache/mod_disk_cache.h"
 
 #if APR_HAVE_UNISTD_H
 #include <unistd.h>
@@ -41,55 +42,6 @@
 #if APR_HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-
-/* mod_disk_cache.c extract start */
-
-#define VARY_FORMAT_VERSION 3
-#define DISK_FORMAT_VERSION 4
-
-typedef struct {
-    /* Indicates the format of the header struct stored on-disk. */
-    apr_uint32_t format;
-    /* The HTTP status code returned for this response.  */
-    int status;
-    /* The size of the entity name that follows. */
-    apr_size_t name_len;
-    /* The number of times we've cached this entity. */
-    apr_size_t entity_version;
-    /* Miscellaneous time values. */
-    apr_time_t date;
-    apr_time_t expire;
-    apr_time_t request_time;
-    apr_time_t response_time;
-} disk_cache_info_t;
-
-#define CACHE_HEADER_SUFFIX ".header"
-#define CACHE_DATA_SUFFIX   ".data"
-/* mod_disk_cache.c extract end */
-
-/* mod_disk_cache.c related definitions start */
-
-/*
- * this is based on #define AP_TEMPFILE "/aptmpXXXXXX"
- *
- * the above definition could be reworked into the following:
- *
- * #define AP_TEMPFILE_PREFIX "/"
- * #define AP_TEMPFILE_BASE   "aptmp"
- * #define AP_TEMPFILE_SUFFIX "XXXXXX"
- * #define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE)
- * #define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX)
- * #define AP_TEMPFILE AP_TEMPFILE_PREFIX AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX
- *
- * these definitions would then match the definitions below:
- */
-
-#define AP_TEMPFILE_BASE    "aptmp"
-#define AP_TEMPFILE_SUFFIX  "XXXXXX"
-#define AP_TEMPFILE_BASELEN strlen(AP_TEMPFILE_BASE)
-#define AP_TEMPFILE_NAMELEN strlen(AP_TEMPFILE_BASE AP_TEMPFILE_SUFFIX)
-
-/* mod_disk_cache.c related definitions end */
 
 /* define the following for debugging */
 #undef DEBUG