Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 20242 invoked from network); 23 Aug 2005 13:48:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Aug 2005 13:48:46 -0000 Received: (qmail 25426 invoked by uid 500); 23 Aug 2005 13:48:46 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 25312 invoked by uid 500); 23 Aug 2005 13:48:45 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Delivered-To: moderator for cvs@httpd.apache.org Received: (qmail 12855 invoked by uid 99); 23 Aug 2005 13:35:12 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Message-ID: <20050823133512.16279.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r239406 - in /httpd/httpd/trunk: modules/cache/mod_disk_cache.c modules/cache/mod_disk_cache.h support/htcacheclean.c Date: Tue, 23 Aug 2005 13:35:11 -0000 To: cvs@httpd.apache.org From: asteinmetz@apache.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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 @@ -41,55 +42,6 @@ #if APR_HAVE_STDLIB_H #include #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