You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2008/01/14 00:41:14 UTC

svn commit: r611683 - /tomcat/connectors/trunk/jk/native/common/jk_status.c

Author: rjung
Date: Sun Jan 13 15:41:13 2008
New Revision: 611683

URL: http://svn.apache.org/viewvc?rev=611683&view=rev
Log:
Add some more convenience functions to status worker.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_status.c

Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=611683&r1=611682&r2=611683&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Sun Jan 13 15:41:13 2008
@@ -463,6 +463,13 @@
     jk_printf(s, "%*s%s=\"%d\"\n", indentation, "", key, value);
 }
 
+static void jk_print_xml_att_uint(jk_ws_service_t *s,
+                                  int indentation,
+                                  const char *key, unsigned int value)
+{
+    jk_printf(s, "%*s%s=\"%u\"\n", indentation, "", key, value);
+}
+
 static void jk_print_xml_att_long(jk_ws_service_t *s,
                                   int indentation,
                                   const char *key, long value)
@@ -508,6 +515,18 @@
     }
 }
 
+static void jk_print_prop_att_uint(jk_ws_service_t *s, status_worker_t *w,
+                                   const char *name,
+                                   const char *key, unsigned int value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s=%u\n", w->prefix, name, key, value);
+    }
+    else {
+        jk_printf(s, "%s.%s=%u\n", w->prefix, key, value);
+    }
+}
+
 static void jk_print_prop_att_long(jk_ws_service_t *s, status_worker_t *w,
                                    const char *name,
                                    const char *key, long value)
@@ -2493,7 +2512,7 @@
 }
 
 static int set_int_if_changed(status_endpoint_t *p,
-                              lb_sub_worker_t *wr,
+                              const char *name,
                               const char *att,
                               const char *arg,
                               int min,
@@ -2506,9 +2525,42 @@
     status_worker_t *w = p->worker;
     i = status_get_int(p, arg, *param, l);
     if (i != *param && i >= min && i <= max) {
-        jk_log(l, JK_LOG_INFO,
-               "Status worker '%s' setting '%s' for sub worker '%s' of lb worker '%s' to '%i'",
-               w->name, att, wr->name, lb_name, i);
+        if (lb_name)
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting '%s' for sub worker '%s' of lb worker '%s' to '%i'",
+                   w->name, att, name, lb_name, i);
+        else
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting '%s' for ajp worker '%s' to '%i'",
+                   w->name, att, name, i);
+        *param = i;
+        return JK_TRUE;
+    }
+    return JK_FALSE;
+}
+
+static int set_uint_if_changed(status_endpoint_t *p,
+                               const char *name,
+                               const char *att,
+                               const char *arg,
+                               uint min,
+                               uint max,
+                               uint *param,
+                               const char *lb_name,
+                              jk_logger_t *l)
+{
+    unsigned i;
+    status_worker_t *w = p->worker;
+    i = (unsigned)status_get_int(p, arg, *param, l);
+    if (i != *param && i >= min && i <= max) {
+        if (lb_name)
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting '%s' for sub worker '%s' of lb worker '%s' to '%u'",
+                   w->name, att, name, lb_name, i);
+        else
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting '%s' for ajp worker '%s' to '%u'",
+                   w->name, att, name, i);
         *param = i;
         return JK_TRUE;
     }
@@ -2543,7 +2595,7 @@
             rc |= 1;
         }
     }
-    if (set_int_if_changed(p, wr, "lbfactor", JK_STATUS_ARG_LBM_FACTOR,
+    if (set_int_if_changed(p, wr->name, "lbfactor", JK_STATUS_ARG_LBM_FACTOR,
                            1, INT_MAX, &wr->lb_factor, lb_name, l))
         /* Recalculate the load multiplicators wrt. lb_factor */
         rc |= 2;
@@ -2585,7 +2637,7 @@
             rc |= 4;
         }
     }
-    if (set_int_if_changed(p, wr, "distance", JK_STATUS_ARG_LBM_DISTANCE,
+    if (set_int_if_changed(p, wr->name, "distance", JK_STATUS_ARG_LBM_DISTANCE,
                            0, INT_MAX, &wr->distance, lb_name, l))
         rc |= 4;
     if (rc)
@@ -2661,14 +2713,14 @@
             snprintf(vname, 32-1, "" JK_STATUS_ARG_MULT_VALUE_BASE "%d", j);
 
             if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR)) {
-                if (set_int_if_changed(p, wr, "lbfactor", vname,
+                if (set_int_if_changed(p, wr->name, "lbfactor", vname,
                                        1, INT_MAX, &wr->lb_factor, name, l)) {
                     rc = 2;
                     sync_needed = JK_TRUE;
                 }
             }
             else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE)) {
-                if (set_int_if_changed(p, wr, "distance", vname,
+                if (set_int_if_changed(p, wr->name, "distance", vname,
                                        0, INT_MAX, &wr->distance, name, l))
                     sync_needed = JK_TRUE;
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org