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