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 2014/05/23 20:03:05 UTC

git commit: [TS-2527] mgmtapi.h should be C style. This is slightly ugly in the core now, but that public struct/union has to be named to be C99 compliant.

Repository: trafficserver
Updated Branches:
  refs/heads/master 59fa19025 -> 2bf9a464f


[TS-2527] mgmtapi.h should be C style. This is slightly ugly in the core
now, but that public struct/union has to be named to be C99 compliant.


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

Branch: refs/heads/master
Commit: 2bf9a464f50a0a1e3a098d4ff3ebdb7067a27d7c
Parents: 59fa190
Author: Leif Hedstrom <zw...@apache.org>
Authored: Fri May 23 12:01:34 2014 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri May 23 12:01:34 2014 -0600

----------------------------------------------------------------------
 CHANGES                          |  3 +++
 cmd/traffic_line/traffic_line.cc | 20 ++++++++++----------
 mgmt/api/APITestCliRemote.cc     | 28 ++++++++++++++--------------
 mgmt/api/CoreAPI.cc              | 17 +++++++++--------
 mgmt/api/CoreAPIRemote.cc        |  8 ++++----
 mgmt/api/INKMgmtAPI.cc           | 20 ++++++++++----------
 mgmt/api/TSControlMain.cc        | 10 ++++++----
 mgmt/api/include/mgmtapi.h       |  4 ++--
 8 files changed, 58 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index fa34b15..8f9d0d2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 5.0.0
 
+  *) [TS-2527] mgmtapi.h should be C style. This is slightly ugly in the core
+   now, but that public struct/union has to be named to be C99 compliant.
+
   *) [TS-2838] Add logging fields for plugins to TS connect API. Use for SPDY.
 
   *) [TS-2833] Remove REC_BUILD_STAND_ALONE, REC_BUILD_MGMT and

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/cmd/traffic_line/traffic_line.cc
----------------------------------------------------------------------
diff --git a/cmd/traffic_line/traffic_line.cc b/cmd/traffic_line/traffic_line.cc
index 6ace337..5939151 100644
--- a/cmd/traffic_line/traffic_line.cc
+++ b/cmd/traffic_line/traffic_line.cc
@@ -71,9 +71,9 @@ handleArgInvocation()
   } else if (Startup == 1) {
     return TSProxyStateSet(TS_PROXY_ON, TS_CACHE_CLEAR_OFF);
   } else if (ClearCluster == 1) {
-    return TSStatsReset(true);
+    return TSStatsReset(true, NULL);
   } else if (ClearNode == 1) {
-    return TSStatsReset(false);
+    return TSStatsReset(false, NULL);
   } else if (*ZeroNode != '\0' || *ZeroCluster != '\0') {
     TSMgmtError err;
     TSRecordEle *rec_ele = TSRecordEleCreate();
@@ -186,16 +186,16 @@ handleArgInvocation()
       } else {
         switch (rec_ele->rec_type) {
         case TS_REC_INT:
-          printf("%" PRId64 "\n", rec_ele->int_val);
+          printf("%" PRId64 "\n", rec_ele->valueT.int_val);
           break;
         case TS_REC_COUNTER:
-          printf("%" PRId64 "\n", rec_ele->counter_val);
+          printf("%" PRId64 "\n", rec_ele->valueT.counter_val);
           break;
         case TS_REC_FLOAT:
-          printf("%f\n", rec_ele->float_val);
+          printf("%f\n", rec_ele->valueT.float_val);
           break;
         case TS_REC_STRING:
-          printf("%s\n", rec_ele->string_val);
+          printf("%s\n", rec_ele->valueT.string_val);
           break;
         default:
           fprintf(stderr, "%s: unknown record type (%d)\n", programName, rec_ele->rec_type);
@@ -224,16 +224,16 @@ handleArgInvocation()
           rec_ele = (TSRecordEle *) TSListDequeue(list)) {
         switch (rec_ele->rec_type) {
         case TS_REC_INT:
-          printf("%s %" PRId64 "\n", rec_ele->rec_name, rec_ele->int_val);
+          printf("%s %" PRId64 "\n", rec_ele->rec_name, rec_ele->valueT.int_val);
           break;
         case TS_REC_COUNTER:
-          printf("%s %" PRId64 "\n", rec_ele->rec_name, rec_ele->counter_val);
+          printf("%s %" PRId64 "\n", rec_ele->rec_name, rec_ele->valueT.counter_val);
           break;
         case TS_REC_FLOAT:
-          printf("%s %f\n", rec_ele->rec_name, rec_ele->float_val);
+          printf("%s %f\n", rec_ele->rec_name, rec_ele->valueT.float_val);
           break;
         case TS_REC_STRING:
-          printf("%s %s\n", rec_ele->rec_name, rec_ele->string_val);
+          printf("%s %s\n", rec_ele->rec_name, rec_ele->valueT.string_val);
           break;
         default:
           // just skip it ...

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/APITestCliRemote.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/APITestCliRemote.cc b/mgmt/api/APITestCliRemote.cc
index 81fe2b5..115dea8 100644
--- a/mgmt/api/APITestCliRemote.cc
+++ b/mgmt/api/APITestCliRemote.cc
@@ -1195,16 +1195,16 @@ test_rec_get(char *rec_name)
   else {
     switch (rec_ele->rec_type) {
     case TS_REC_INT:
-      printf("[TSRecordGet] %s=%" PRId64 "\n", name, rec_ele->int_val);
+      printf("[TSRecordGet] %s=%" PRId64 "\n", name, rec_ele->valueT.int_val);
       break;
     case TS_REC_COUNTER:
-      printf("[TSRecordGet] %s=%" PRId64 "\n", name, rec_ele->counter_val);
+      printf("[TSRecordGet] %s=%" PRId64 "\n", name, rec_ele->valueT.counter_val);
       break;
     case TS_REC_FLOAT:
-      printf("[TSRecordGet] %s=%f\n", name, rec_ele->float_val);
+      printf("[TSRecordGet] %s=%f\n", name, rec_ele->valueT.float_val);
       break;
     case TS_REC_STRING:
-      printf("[TSRecordGet] %s=%s\n", name, rec_ele->string_val);
+      printf("[TSRecordGet] %s=%s\n", name, rec_ele->valueT.string_val);
       break;
     default:
       // Handled here:
@@ -1284,16 +1284,16 @@ test_record_get_mlt(void)
     printf("Record: %s = ", rec_ele->rec_name);
     switch (rec_ele->rec_type) {
     case TS_REC_INT:
-      printf("%" PRId64 "\n", rec_ele->int_val);
+      printf("%" PRId64 "\n", rec_ele->valueT.int_val);
       break;
     case TS_REC_COUNTER:
-      printf("%" PRId64 "\n", rec_ele->counter_val);
+      printf("%" PRId64 "\n", rec_ele->valueT.counter_val);
       break;
     case TS_REC_FLOAT:
-      printf("%f\n", rec_ele->float_val);
+      printf("%f\n", rec_ele->valueT.float_val);
       break;
     case TS_REC_STRING:
-      printf("%s\n", rec_ele->string_val);
+      printf("%s\n", rec_ele->valueT.string_val);
       break;
     default:
       // Handled here:
@@ -1327,27 +1327,27 @@ test_record_set_mlt(void)
   ele1 = TSRecordEleCreate();  // TS_TYPE_UNDEFINED action
   ele1->rec_name = TSstrdup("proxy.config.cli_binary");
   ele1->rec_type = TS_REC_STRING;
-  ele1->string_val = TSstrdup(ele1->rec_name);
+  ele1->valueT.string_val = TSstrdup(ele1->rec_name);
 
   ele2 = TSRecordEleCreate();  // reread action
   ele2->rec_name = TSstrdup("proxy.config.http.cache.fuzz.probability");
   ele2->rec_type = TS_REC_FLOAT;
-  ele2->float_val = 0.1234;
+  ele2->valueT.float_val = 0.1234;
 
   ele3 = TSRecordEleCreate();  // undefined action
   ele3->rec_name = TSstrdup("proxy.config.cop.core_signal");
   ele3->rec_type = TS_REC_INT;
-  ele3->int_val = -4;
+  ele3->valueT.int_val = -4;
 
   ele4 = TSRecordEleCreate();  //restart TM
   ele4->rec_name = (char *) TSstrdup("proxy.local.cluster.type");
   ele4->rec_type = TS_REC_INT;
-  ele4->int_val = 2;
+  ele4->valueT.int_val = 2;
 
   ele5 = TSRecordEleCreate();  // reread action
   ele5->rec_name = (char *) TSstrdup("proxy.config.cluster.mc_ttl");
   ele5->rec_type = TS_REC_INT;
-  ele5->int_val = 555;
+  ele5->valueT.int_val = 555;
 
 
   TSListEnqueue(list, ele4);
@@ -2277,7 +2277,7 @@ print_stats()
 void
 reset_stats()
 {
-  TSMgmtError err = TSStatsReset(false);
+  TSMgmtError err = TSStatsReset(false, NULL);
   print_err("TSStatsReset", err);
   return;
 }

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/CoreAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/CoreAPI.cc b/mgmt/api/CoreAPI.cc
index ff8ea63..505ec6d 100644
--- a/mgmt/api/CoreAPI.cc
+++ b/mgmt/api/CoreAPI.cc
@@ -323,26 +323,27 @@ MgmtRecordGet(const char *rec_name, TSRecordEle * rec_ele)
     rec_ele->rec_type = TS_REC_COUNTER;
     if (!varCounterFromName(rec_name, &(counter_val)))
       return TS_ERR_FAIL;
-    rec_ele->counter_val = (TSCounter) counter_val;
+    rec_ele->valueT.counter_val = (TSCounter) counter_val;
 
-    Debug("RecOp", "[MgmtRecordGet] Get Counter Var %s = %" PRId64"\n", rec_ele->rec_name, rec_ele->counter_val);
+    Debug("RecOp", "[MgmtRecordGet] Get Counter Var %s = %" PRId64"\n", rec_ele->rec_name,
+          rec_ele->valueT.counter_val);
     break;
 
   case RECD_INT:
     rec_ele->rec_type = TS_REC_INT;
     if (!varIntFromName(rec_name, &(int_val)))
       return TS_ERR_FAIL;
-    rec_ele->int_val = (TSInt) int_val;
+    rec_ele->valueT.int_val = (TSInt) int_val;
 
-    Debug("RecOp", "[MgmtRecordGet] Get Int Var %s = %" PRId64"\n", rec_ele->rec_name, rec_ele->int_val);
+    Debug("RecOp", "[MgmtRecordGet] Get Int Var %s = %" PRId64"\n", rec_ele->rec_name, rec_ele->valueT.int_val);
     break;
 
   case RECD_FLOAT:
     rec_ele->rec_type = TS_REC_FLOAT;
-    if (!varFloatFromName(rec_name, &(rec_ele->float_val)))
+    if (!varFloatFromName(rec_name, &(rec_ele->valueT.float_val)))
       return TS_ERR_FAIL;
 
-    Debug("RecOp", "[MgmtRecordGet] Get Float Var %s = %f\n", rec_ele->rec_name, rec_ele->float_val);
+    Debug("RecOp", "[MgmtRecordGet] Get Float Var %s = %f\n", rec_ele->rec_name, rec_ele->valueT.float_val);
     break;
 
   case RECD_STRING:
@@ -358,8 +359,8 @@ MgmtRecordGet(const char *rec_name, TSRecordEle * rec_ele)
     }
 
     rec_ele->rec_type = TS_REC_STRING;
-    rec_ele->string_val = str_val;
-    Debug("RecOp", "[MgmtRecordGet] Get String Var %s = %s\n", rec_ele->rec_name, rec_ele->string_val);
+    rec_ele->valueT.string_val = str_val;
+    Debug("RecOp", "[MgmtRecordGet] Get String Var %s = %s\n", rec_ele->rec_name, rec_ele->valueT.string_val);
     break;
 
   default:                     // UNKOWN TYPE

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/CoreAPIRemote.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/CoreAPIRemote.cc b/mgmt/api/CoreAPIRemote.cc
index 6d9b489..117a74f 100644
--- a/mgmt/api/CoreAPIRemote.cc
+++ b/mgmt/api/CoreAPIRemote.cc
@@ -435,16 +435,16 @@ mgmt_record_get_reply(TSRecordEle * rec_ele)
   if (val) {
     switch (rec_ele->rec_type) {
     case TS_REC_INT:
-      rec_ele->int_val = *(TSInt *) val;
+      rec_ele->valueT.int_val = *(TSInt *) val;
       break;
     case TS_REC_COUNTER:
-      rec_ele->counter_val = *(TSCounter *) val;
+      rec_ele->valueT.counter_val = *(TSCounter *) val;
       break;
     case TS_REC_FLOAT:
-      rec_ele->float_val = *(TSFloat *) val;
+      rec_ele->valueT.float_val = *(TSFloat *) val;
       break;
     case TS_REC_STRING:
-      rec_ele->string_val = ats_strdup((char *) val);
+      rec_ele->valueT.string_val = ats_strdup((char *) val);
       break;
     default:
       ; // nothing ... shut up compiler!

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/INKMgmtAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/INKMgmtAPI.cc b/mgmt/api/INKMgmtAPI.cc
index be6308e..c436652 100644
--- a/mgmt/api/INKMgmtAPI.cc
+++ b/mgmt/api/INKMgmtAPI.cc
@@ -725,8 +725,8 @@ TSRecordEleDestroy(TSRecordEle * ele)
 {
   if (ele) {
     ats_free(ele->rec_name);
-    if (ele->rec_type == TS_REC_STRING && ele->string_val)
-      ats_free(ele->string_val);
+    if (ele->rec_type == TS_REC_STRING && ele->valueT.string_val)
+      ats_free(ele->valueT.string_val);
     ats_free(ele);
   }
   return;
@@ -1468,7 +1468,7 @@ TSRecordGetInt(const char *rec_name, TSInt * int_val)
   if (ret != TS_ERR_OKAY)
     goto END;
 
-  *int_val = ele->int_val;
+  *int_val = ele->valueT.int_val;
 
 END:
   TSRecordEleDestroy(ele);
@@ -1484,7 +1484,7 @@ TSRecordGetCounter(const char *rec_name, TSCounter * counter_val)
   ret = MgmtRecordGet(rec_name, ele);
   if (ret != TS_ERR_OKAY)
     goto END;
-  *counter_val = ele->counter_val;
+  *counter_val = ele->valueT.counter_val;
 
 END:
   TSRecordEleDestroy(ele);
@@ -1500,7 +1500,7 @@ TSRecordGetFloat(const char *rec_name, TSFloat * float_val)
   ret = MgmtRecordGet(rec_name, ele);
   if (ret != TS_ERR_OKAY)
     goto END;
-  *float_val = ele->float_val;
+  *float_val = ele->valueT.float_val;
 
 END:
   TSRecordEleDestroy(ele);
@@ -1517,7 +1517,7 @@ TSRecordGetString(const char *rec_name, TSString *string_val)
   if (ret != TS_ERR_OKAY)
     goto END;
 
-  *string_val = ats_strdup(ele->string_val);
+  *string_val = ats_strdup(ele->valueT.string_val);
 
 END:
   TSRecordEleDestroy(ele);
@@ -1657,16 +1657,16 @@ TSRecordSetMlt(TSList rec_list, TSActionNeedT * action_need)
     if (ele) {
       switch (ele->rec_type) {
       case TS_REC_INT:
-        ret = MgmtRecordSetInt(ele->rec_name, ele->int_val, action_need);
+        ret = MgmtRecordSetInt(ele->rec_name, ele->valueT.int_val, action_need);
         break;
       case TS_REC_COUNTER:
-        ret = MgmtRecordSetCounter(ele->rec_name, ele->counter_val, action_need);
+        ret = MgmtRecordSetCounter(ele->rec_name, ele->valueT.counter_val, action_need);
         break;
       case TS_REC_FLOAT:
-        ret = MgmtRecordSetFloat(ele->rec_name, ele->float_val, action_need);
+        ret = MgmtRecordSetFloat(ele->rec_name, ele->valueT.float_val, action_need);
         break;
       case TS_REC_STRING:
-        ret = MgmtRecordSetString(ele->rec_name, ele->string_val, action_need);
+        ret = MgmtRecordSetString(ele->rec_name, ele->valueT.string_val, action_need);
         break;
       default:
         ret = TS_ERR_FAIL;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/TSControlMain.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/TSControlMain.cc b/mgmt/api/TSControlMain.cc
index 3486436..67fe691 100644
--- a/mgmt/api/TSControlMain.cc
+++ b/mgmt/api/TSControlMain.cc
@@ -381,16 +381,18 @@ handle_record_get(struct SocketInfo sock_info, char *req)
   // create and send reply back to client
   switch (ele->rec_type) {
   case TS_REC_INT:
-    ret = send_record_get_reply(sock_info, ret, &(ele->int_val), sizeof(TSInt), ele->rec_type, ele->rec_name);
+    ret = send_record_get_reply(sock_info, ret, &(ele->valueT.int_val), sizeof(TSInt), ele->rec_type, ele->rec_name);
     break;
   case TS_REC_COUNTER:
-    ret = send_record_get_reply(sock_info, ret, &(ele->counter_val), sizeof(TSCounter), ele->rec_type, ele->rec_name);
+    ret = send_record_get_reply(sock_info, ret, &(ele->valueT.counter_val), sizeof(TSCounter),
+                                ele->rec_type, ele->rec_name);
     break;
   case TS_REC_FLOAT:
-    ret = send_record_get_reply(sock_info, ret, &(ele->float_val), sizeof(TSFloat), ele->rec_type, ele->rec_name);
+    ret = send_record_get_reply(sock_info, ret, &(ele->valueT.float_val), sizeof(TSFloat), ele->rec_type, ele->rec_name);
     break;
   case TS_REC_STRING:
-    ret = send_record_get_reply(sock_info, ret, ele->string_val, strlen(ele->string_val), ele->rec_type, ele->rec_name);
+    ret = send_record_get_reply(sock_info, ret, ele->valueT.string_val, strlen(ele->valueT.string_val),
+                                ele->rec_type, ele->rec_name);
     break;
   default:                     // invalid record type
     ret = send_reply(sock_info, TS_ERR_FAIL);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2bf9a464/mgmt/api/include/mgmtapi.h
----------------------------------------------------------------------
diff --git a/mgmt/api/include/mgmtapi.h b/mgmt/api/include/mgmtapi.h
index 5471eb5..19ff2ec 100644
--- a/mgmt/api/include/mgmtapi.h
+++ b/mgmt/api/include/mgmtapi.h
@@ -455,7 +455,7 @@ extern "C"
       TSCounter counter_val;
       TSFloat float_val;
       TSString string_val;
-    };
+    } valueT;
   } TSRecordEle;
 
 /*--- events --------------------------------------------------------------*/
@@ -1126,7 +1126,7 @@ extern "C"
  * Input: cluster - Reset the stats clusterwide or not
  * Outpue: TSErrr
  */
-  tsapi TSMgmtError TSStatsReset(bool cluster, const char *name = NULL);
+  tsapi TSMgmtError TSStatsReset(bool cluster, const char *name);
 
 
 /*--- variable operations -------------------------------------------------*/