You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Servando Muñoz Garcia <sm...@gmail.com> on 2010/11/11 02:05:46 UTC

Re: svn commit: r1033779 - in /httpd/httpd/trunk: modules/cache/cache_common.h modules/cache/mod_cache.h modules/cache/mod_disk_cache.h support/htcacheclean.c

----- Original Message ----- 
From: <fu...@apache.org>
To: <cv...@httpd.apache.org>
Sent: Wednesday, November 10, 2010 5:43 PM
Subject: svn commit: r1033779 - in /httpd/httpd/trunk: 
modules/cache/cache_common.h modules/cache/mod_cache.h 
modules/cache/mod_disk_cache.h support/htcacheclean.c


> Author: fuankg
> Date: Wed Nov 10 23:43:06 2010
> New Revision: 1033779
>
> URL: http://svn.apache.org/viewvc?rev=1033779&view=rev
> Log:
> Splitted off cache defines/structs used by htcacheclean.
>
> This makes htcacheclean again independent from httpd.h.
> Submitted by: NormW <normw gknw net>
>
> Added:
>    httpd/httpd/trunk/modules/cache/cache_common.h   (with props)
> Modified:
>    httpd/httpd/trunk/modules/cache/mod_cache.h
>    httpd/httpd/trunk/modules/cache/mod_disk_cache.h
>    httpd/httpd/trunk/support/htcacheclean.c
>
> Added: httpd/httpd/trunk/modules/cache/cache_common.h
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/cache_common.h?rev=1033779&view=auto
> ==============================================================================
> --- httpd/httpd/trunk/modules/cache/cache_common.h (added)
> +++ httpd/httpd/trunk/modules/cache/cache_common.h Wed Nov 10 23:43:06 
> 2010
> @@ -0,0 +1,94 @@
> +/* 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.
> + */
> +
> +/**
> + * @file cache_common.h
> + * @brief Common Cache vars/structs
> + *
> + * @defgroup Cache_cache  Cache Functions
> + * @ingroup  MOD_CACHE
> + * @{
> + */
> +
> +#ifndef CACHE_COMMON_H
> +#define CACHE_COMMON_H
> +
> +#define VARY_FORMAT_VERSION 5
> +#define DISK_FORMAT_VERSION 6
> +
> +#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
> +
> +/* a cache control header breakdown */
> +typedef struct cache_control cache_control_t;
> +struct cache_control {
> +    unsigned int parsed:1;
> +    unsigned int cache_control:1;
> +    unsigned int pragma:1;
> +    unsigned int no_cache:1;
> +    unsigned int no_cache_header:1; /* no cache by header match */
> +    unsigned int no_store:1;
> +    unsigned int max_age:1;
> +    unsigned int max_stale:1;
> +    unsigned int min_fresh:1;
> +    unsigned int no_transform:1;
> +    unsigned int only_if_cached:1;
> +    unsigned int public:1;
> +    unsigned int private:1;
> +    unsigned int private_header:1; /* private by header match */
> +    unsigned int must_revalidate:1;
> +    unsigned int proxy_revalidate:1;
> +    unsigned int s_maxage:1;
> +    apr_int64_t max_age_value; /* if positive, then set */
> +    apr_int64_t max_stale_value; /* if positive, then set */
> +    apr_int64_t min_fresh_value; /* if positive, then set */
> +    apr_int64_t s_maxage_value; /* if positive, then set */
> +};
> +
> +
> +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;
> +    /* The ident of the body file, so we can test the body matches the 
> header */
> +    apr_ino_t inode;
> +    apr_dev_t device;
> +    /* Does this cached request have a body? */
> +    int has_body:1;
> +    int header_only:1;
> +    /* The parsed cache control header */
> +    cache_control_t control;
> +} disk_cache_info_t;
> +
> +#endif /* CACHE_COMMON_H */
>
> Propchange: httpd/httpd/trunk/modules/cache/cache_common.h
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Modified: httpd/httpd/trunk/modules/cache/mod_cache.h
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_cache.h?rev=1033779&r1=1033778&r2=1033779&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/cache/mod_cache.h (original)
> +++ httpd/httpd/trunk/modules/cache/mod_cache.h Wed Nov 10 23:43:06 2010
> @@ -31,6 +31,8 @@
> #include "apr_optional.h"
> #include "apr_hooks.h"
>
> +#include "cache_common.h"
> +
> /* Create a set of CACHE_DECLARE(type), CACHE_DECLARE_NONSTD(type) and
>  * CACHE_DECLARE_DATA with appropriate export and import tags for the 
> platform
>  */
> @@ -52,32 +54,6 @@
> #define CACHE_DECLARE_DATA             __declspec(dllimport)
> #endif
>
> -/* a cache control header breakdown */
> -typedef struct cache_control cache_control_t;
> -struct cache_control {
> -    unsigned int parsed:1;
> -    unsigned int cache_control:1;
> -    unsigned int pragma:1;
> -    unsigned int no_cache:1;
> -    unsigned int no_cache_header:1; /* no cache by header match */
> -    unsigned int no_store:1;
> -    unsigned int max_age:1;
> -    unsigned int max_stale:1;
> -    unsigned int min_fresh:1;
> -    unsigned int no_transform:1;
> -    unsigned int only_if_cached:1;
> -    unsigned int public:1;
> -    unsigned int private:1;
> -    unsigned int private_header:1; /* private by header match */
> -    unsigned int must_revalidate:1;
> -    unsigned int proxy_revalidate:1;
> -    unsigned int s_maxage:1;
> -    apr_int64_t max_age_value; /* if positive, then set */
> -    apr_int64_t max_stale_value; /* if positive, then set */
> -    apr_int64_t min_fresh_value; /* if positive, then set */
> -    apr_int64_t s_maxage_value; /* if positive, then set */
> -};
> -
> /* cache info information */
> typedef struct cache_info cache_info;
> struct cache_info {
>
> Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_disk_cache.h?rev=1033779&r1=1033778&r2=1033779&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/cache/mod_disk_cache.h (original)
> +++ httpd/httpd/trunk/modules/cache/mod_disk_cache.h Wed Nov 10 23:43:06 
> 2010
> @@ -20,48 +20,12 @@
> #include "mod_cache.h"
> #include "apr_file_io.h"
>
> +#include "cache_common.h"
> +
> /*
>  * include for mod_disk_cache: Disk Based HTTP 1.1 Cache.
>  */
>
> -#define VARY_FORMAT_VERSION 5
> -#define DISK_FORMAT_VERSION 6
> -
> -#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;
> -    /* The ident of the body file, so we can test the body matches the 
> header */
> -    apr_ino_t inode;
> -    apr_dev_t device;
> -    /* Does this cached request have a body? */
> -    int has_body:1;
> -    int header_only:1;
> -    /* The parsed cache control header */
> -    cache_control_t control;
> -} disk_cache_info_t;
> -
> typedef struct {
>     apr_pool_t *pool;
>     const char *file;
>
> Modified: httpd/httpd/trunk/support/htcacheclean.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/support/htcacheclean.c?rev=1033779&r1=1033778&r2=1033779&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/support/htcacheclean.c (original)
> +++ httpd/httpd/trunk/support/htcacheclean.c Wed Nov 10 23:43:06 2010
> @@ -36,7 +36,7 @@
> #include "apr_ring.h"
> #include "apr_date.h"
> #include "apr_buckets.h"
> -#include "../modules/cache/mod_disk_cache.h"
> +#include "../modules/cache/cache_common.h"
>
> #if APR_HAVE_UNISTD_H
> #include <unistd.h>
>
>