Anyone see any problems with using r->request_time in liew of calling
apr_time_now() in age calculations? I am also not inclined to bump the MMN major
for this patch as the functions are all in experimental.
Bill
Index: modules/experimental/cache_util.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/experimental/cache_util.c,v
retrieving revision 1.20
diff -u -u -r1.20 cache_util.c
--- modules/experimental/cache_util.c 12 Oct 2002 07:51:09 -0000 1.20
+++ modules/experimental/cache_util.c 29 Oct 2002 18:21:54 -0000
@@ -138,7 +138,8 @@
/* do a HTTP/1.1 age calculation */
-CACHE_DECLARE(apr_int64_t) ap_cache_current_age(cache_info *info, const
apr_time_t age_value)
+CACHE_DECLARE(apr_int64_t) ap_cache_current_age(cache_info *info, const
apr_time_t age_value,
+ apr_time_t now)
{
apr_time_t apparent_age, corrected_received_age, response_delay,
corrected_initial_age,
resident_time, current_age;
@@ -149,7 +150,7 @@
corrected_received_age = MAX(apparent_age, age_value);
response_delay = info->response_time - info->request_time;
corrected_initial_age = corrected_received_age + response_delay;
- resident_time = apr_time_now() - info->response_time;
+ resident_time = now - info->response_time;
current_age = corrected_initial_age + resident_time;
return apr_time_sec(current_age);
@@ -206,7 +207,7 @@
}
/* calculate age of object */
- age = ap_cache_current_age(info, age_c);
+ age = ap_cache_current_age(info, age_c, r->request_time);
/* extract s-maxage */
if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "s-maxage", &val))
Index: modules/experimental/mod_cache.h
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/experimental/mod_cache.h,v
retrieving revision 1.34
diff -u -u -r1.34 mod_cache.h
--- modules/experimental/mod_cache.h 13 Oct 2002 19:35:04 -0000 1.34
+++ modules/experimental/mod_cache.h 29 Oct 2002 18:21:54 -0000
@@ -257,8 +257,9 @@
/* cache_util.c */
/* do a HTTP/1.1 age calculation */
-CACHE_DECLARE(apr_time_t) ap_cache_current_age(cache_info *info, const
apr_time_t age_value);
+CACHE_DECLARE(apr_time_t) ap_cache_current_age(cache_info *info, const
apr_time_t age_value,
+ apr_time_t current_time);
/**
* Check the freshness of the cache object per RFC2616 section 13.2 (Expiration
Model)