You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/09/29 00:27:53 UTC

svn commit: r1002385 - in /trafficserver/traffic/trunk/proxy: hdrs/MIME.h http2/HttpTransact.cc

Author: zwoop
Date: Tue Sep 28 22:27:52 2010
New Revision: 1002385

URL: http://svn.apache.org/viewvc?rev=1002385&view=rev
Log:
Slight cleanup with the set/get_age() methods to use time_t.

Modified:
    trafficserver/traffic/trunk/proxy/hdrs/MIME.h
    trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc

Modified: trafficserver/traffic/trunk/proxy/hdrs/MIME.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/hdrs/MIME.h?rev=1002385&r1=1002384&r2=1002385&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/hdrs/MIME.h (original)
+++ trafficserver/traffic/trunk/proxy/hdrs/MIME.h Tue Sep 28 22:27:52 2010
@@ -912,7 +912,7 @@ public:
   // Other separators (e.g. ';' in Set-cookie/Cookie) are also possible
   void field_value_append(MIMEField * field,
                           const char *value, int value_length, bool prepend_comma = false, const char separator = ',');
-  uint32 get_age();
+  time_t get_age();
   int64 get_content_length();
   time_t get_date();
   time_t get_expires();
@@ -933,7 +933,7 @@ public:
   void set_cooked_cc_need_revalidate_once();
   void unset_cooked_cc_need_revalidate_once();
 
-  void set_age(uint32 value);
+  void set_age(time_t value);
   void set_content_length(int64 value);
   void set_date(time_t value);
   void set_expires(time_t value);
@@ -1323,7 +1323,7 @@ MIMEHdr::value_append(const char *name, 
 /*-------------------------------------------------------------------------
   -------------------------------------------------------------------------*/
 
-inline uint32
+inline time_t
 MIMEHdr::get_age()
 {
   int64 age = value_get_int64(MIME_FIELD_AGE, MIME_LEN_AGE);
@@ -1331,7 +1331,7 @@ MIMEHdr::get_age()
   if (age < 0)
     return 0;
 
-  return (age > INT_MAX ? (uint32)INT_MAX + 1 : age);
+  return (age > INT_MAX ? (time_t)INT_MAX + 1 : age);
 }
 
 /*-------------------------------------------------------------------------
@@ -1494,7 +1494,7 @@ MIMEHdr::unset_cooked_cc_need_revalidate
   -------------------------------------------------------------------------*/
 
 inline void
-MIMEHdr::set_age(uint32 value)
+MIMEHdr::set_age(time_t value)
 {
   value_set_uint(MIME_FIELD_AGE, MIME_LEN_AGE, value);
 }

Modified: trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc?rev=1002385&r1=1002384&r2=1002385&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc Tue Sep 28 22:27:52 2010
@@ -4852,29 +4852,27 @@ HttpTransact::merge_and_update_headers_f
   // Some special processing for 304
   //
   if (s->hdr_info.server_response.status_get() == HTTP_STATUS_NOT_MODIFIED) {
-
     // Hack fix. If the server sends back
     // a 304 without a Date Header, use the current time
     // as the new Date value in the header to be cached.
     time_t date_value = s->hdr_info.server_response.get_date();
     HTTPHdr *cached_hdr = s->cache_info.object_store.response_get();
+
     if (date_value <= 0) {
       cached_hdr->set_date(s->request_sent_time);
+      date_value = s->request_sent_time;
     }
     // If the cached response has an Age: we should update it
     // We could use calculate_document_age but my guess is it's overkill
     // Just use 'now' - 304's Date: + Age: (response's Age: if there)
     //
-    date_value = s->hdr_info.server_response.get_date();
-    if (date_value <= 0) {
-      date_value = s->request_sent_time;
-    }
     date_value = max(s->current.now - date_value, (time_t) 0);
+
     if (s->hdr_info.server_response.presence(MIME_PRESENCE_AGE)) {
       int64 new_age = s->hdr_info.server_response.get_age() + date_value;
       
       // Check for overflow
-      date_value = new_age > INT_MAX ? (uint32)INT_MAX + 1 : new_age;
+      date_value = new_age > INT_MAX ? (time_t)INT_MAX + 1 : new_age;
     }
     cached_hdr->set_age(date_value);