You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zy...@apache.org on 2013/10/31 12:03:14 UTC

git commit: TS-2200: define macro TS_HRTIME_XXX directly

Updated Branches:
  refs/heads/master 1ab59b435 -> e75d33a39


TS-2200: define macro TS_HRTIME_XXX directly

   old macro defines can NOT be used in plugin because the target macros
   defined in lib/ts/ink_hrtime.h


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e75d33a3
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e75d33a3
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e75d33a3

Branch: refs/heads/master
Commit: e75d33a39fd94ae0942714201d875876cec574f4
Parents: 1ab59b4
Author: Yu Qing <zh...@taobao.com>
Authored: Tue Sep 3 10:52:49 2013 +0800
Committer: Zhao Yongming <mi...@gmail.com>
Committed: Thu Oct 31 19:02:36 2013 +0800

----------------------------------------------------------------------
 CHANGES                     |  3 +++
 proxy/api/ts/experimental.h | 46 ++++++++++++++++++++--------------------
 2 files changed, 26 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e75d33a3/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index f84b13c..74c5771 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache Traffic Server 4.1.0
 
 
+  *) [TS-2200] TS_HRTIME_xxx in experimental.h is invalid to use.
+   Author: Yu Qing
+
   *) [TS-2235] url_print should NOT output "?" for empty query string.
    Author: Yu Qing
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e75d33a3/proxy/api/ts/experimental.h
----------------------------------------------------------------------
diff --git a/proxy/api/ts/experimental.h b/proxy/api/ts/experimental.h
index 75037a2..e8d10f7 100644
--- a/proxy/api/ts/experimental.h
+++ b/proxy/api/ts/experimental.h
@@ -110,20 +110,20 @@ extern "C"
   tsapi void TSHttpTxnServerRequestBodySet(TSHttpTxn txnp, char *buf, int64_t buflength);
 
   /* ===== High Resolution Time ===== */
-#define TS_HRTIME_FOREVER  HRTIME_FOREVER
-#define TS_HRTIME_DECADE   HRTIME_DECADE
-#define TS_HRTIME_YEAR     HRTIME_YEAR
-#define TS_HRTIME_WEEK     HRTIME_WEEK
-#define TS_HRTIME_DAY      HRTIME_DAY
-#define TS_HRTIME_HOUR     HRTIME_HOUR
-#define TS_HRTIME_MINUTE   HRTIME_MINUTE
-#define TS_HRTIME_SECOND   HRTIME_SECOND
-#define TS_HRTIME_MSECOND  HRTIME_MSECOND
-#define TS_HRTIME_USECOND  HRTIME_USECOND
-#define TS_HRTIME_NSECOND  HRTIME_NSECOND
-
-#define TS_HRTIME_APPROX_SECONDS(_x) HRTIME_APPROX_SECONDS(_x)
-#define TS_HRTIME_APPROX_FACTOR      HRTIME_APPROX_FACTOR
+#define TS_HRTIME_FOREVER  (10*TS_HRTIME_DECADE)
+#define TS_HRTIME_DECADE   (10*TS_HRTIME_YEAR)
+#define TS_HRTIME_YEAR     (365*TS_HRTIME_DAY+TS_HRTIME_DAY/4)
+#define TS_HRTIME_WEEK     (7*TS_HRTIME_DAY)
+#define TS_HRTIME_DAY      (24*TS_HRTIME_HOUR)
+#define TS_HRTIME_HOUR     (60*TS_HRTIME_MINUTE)
+#define TS_HRTIME_MINUTE   (60*TS_HRTIME_SECOND)
+#define TS_HRTIME_SECOND   (1000*TS_HRTIME_MSECOND)
+#define TS_HRTIME_MSECOND  (1000*TS_HRTIME_USECOND)
+#define TS_HRTIME_USECOND  (1000*TS_HRTIME_NSECOND)
+#define TS_HRTIME_NSECOND  (1LL)
+
+#define TS_HRTIME_APPROX_SECONDS(_x) ((_x)>>30)    // off by 7.3%
+#define TS_HRTIME_APPROX_FACTOR      (((float)(1<<30))/(((float)HRTIME_SECOND)))
 
   /*
 ////////////////////////////////////////////////////////////////////
@@ -132,15 +132,15 @@ extern "C"
 //
 ////////////////////////////////////////////////////////////////////
 */
-#define TS_HRTIME_YEARS(_x)    HRTIME_YEARS(_x)
-#define TS_HRTIME_WEEKS(_x)    HRTIME_WEEKS(_x)
-#define TS_HRTIME_DAYS(_x)     HRTIME_DAYS(_x)
-#define TS_HRTIME_HOURS(_x)    HRTIME_HOURS(_x)
-#define TS_HRTIME_MINUTES(_x)  HRTIME_MINUTES(_x)
-#define TS_HRTIME_SECONDS(_x)  HRTIME_SECONDS(_x)
-#define TS_HRTIME_MSECONDS(_x) HRTIME_MSECONDS(_x)
-#define TS_HRTIME_USECONDS(_x) HRTIME_USECONDS(_x)
-#define TS_HRTIME_NSECONDS(_x) HRTIME_NSECONDS(_x)
+#define TS_HRTIME_YEARS(_x)    ((_x)*TS_HRTIME_YEAR)
+#define TS_HRTIME_WEEKS(_x)    ((_x)*TS_HRTIME_WEEK)
+#define TS_HRTIME_DAYS(_x)     ((_x)*TS_HRTIME_DAY)
+#define TS_HRTIME_HOURS(_x)    ((_x)*TS_HRTIME_HOUR)
+#define TS_HRTIME_MINUTES(_x)  ((_x)*TS_HRTIME_MINUTE)
+#define TS_HRTIME_SECONDS(_x)  ((_x)*TS_HRTIME_SECOND)
+#define TS_HRTIME_MSECONDS(_x) ((_x)*TS_HRTIME_MSECOND)
+#define TS_HRTIME_USECONDS(_x) ((_x)*TS_HRTIME_USECOND)
+#define TS_HRTIME_NSECONDS(_x) ((_x)*TS_HRTIME_NSECOND)
 
   tsapi TSReturnCode TSHttpTxnCachedRespTimeGet(TSHttpTxn txnp, time_t *resp_time);
 


Re: git commit: TS-2200: define macro TS_HRTIME_XXX directly

Posted by Igor Galić <i....@brainsware.org>.

----- Original Message -----
> On Oct 31, 2013, at 5:03 AM, zym@apache.org wrote:
> 
> > Updated Branches:
> >  refs/heads/master 1ab59b435 -> e75d33a39
> > 
> > 
> > TS-2200: define macro TS_HRTIME_XXX directly
> > 
> >   old macro defines can NOT be used in plugin because the target macros
> >   defined in lib/ts/ink_hrtime.h
> 
> 
> I think you should propose moving this to ts/ts.h once this has baked for a
> bit, maybe aim to get it moved for v4.2.0 ? Maybe file a bug on it?

Like, you know, maybe you should drop the maybies ;)

    https://www.youtube.com/watch?v=SCNIBV87wV4

> — Leif
> 
> 

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 6880 4155 74BD FD7C B515  2EA5 4B1D 9E08 A097 C9AE


Re: git commit: TS-2200: define macro TS_HRTIME_XXX directly

Posted by Leif Hedstrom <zw...@apache.org>.
On Oct 31, 2013, at 5:03 AM, zym@apache.org wrote:

> Updated Branches:
>  refs/heads/master 1ab59b435 -> e75d33a39
> 
> 
> TS-2200: define macro TS_HRTIME_XXX directly
> 
>   old macro defines can NOT be used in plugin because the target macros
>   defined in lib/ts/ink_hrtime.h


I think you should propose moving this to ts/ts.h once this has baked for a bit, maybe aim to get it moved for v4.2.0 ? Maybe file a bug on it?

— Leif


Re: git commit: TS-2200: define macro TS_HRTIME_XXX directly

Posted by Leif Hedstrom <zw...@apache.org>.
On Oct 31, 2013, at 5:03 AM, zym@apache.org wrote:

> Updated Branches:
>  refs/heads/master 1ab59b435 -> e75d33a39
> 
> 
> TS-2200: define macro TS_HRTIME_XXX directly
> 
>   old macro defines can NOT be used in plugin because the target macros
>   defined in lib/ts/ink_hrtime.h


I think you should propose moving this to ts/ts.h once this has baked for a bit, maybe aim to get it moved for v4.2.0 ? Maybe file a bug on it?

— Leif