MINOR: hlua_fcn: add Proxy.get_srv_act() and Proxy.get_srv_bck()
Proxy.get_srv_act: number of active servers that are eligible for LB
Proxy.get_srv_bck: number of backup servers that are eligible for LB
diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst
index 42c7fa6..f75c6b3 100644
--- a/doc/lua-api/index.rst
+++ b/doc/lua-api/index.rst
@@ -1097,6 +1097,24 @@
proxy.
:returns: a string "tcp", "http", "health" or "unknown"
+.. js:function:: Proxy.get_srv_act(px)
+
+ Returns the number of current active servers for the current proxy that are
+ eligible for LB.
+
+ :param class_proxy px: A :ref:`proxy_class` which indicates the manipulated
+ proxy.
+ :returns: an integer
+
+.. js:function:: Proxy.get_srv_bck(px)
+
+ Returns the number backup servers for the current proxy that are eligible
+ for LB.
+
+ :param class_proxy px: A :ref:`proxy_class` which indicates the manipulated
+ proxy.
+ :returns: an integer
+
.. js:function:: Proxy.get_stats(px)
Returns a table containing the proxy statistics. The statistics returned are
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index 3540cbd..2d86f20 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -1808,6 +1808,24 @@
return 0;
}
+int hlua_proxy_get_srv_act(lua_State *L)
+{
+ struct proxy *px;
+
+ px = hlua_check_proxy(L, 1);
+ lua_pushinteger(L, px->srv_act);
+ return 1;
+}
+
+int hlua_proxy_get_srv_bck(lua_State *L)
+{
+ struct proxy *px;
+
+ px = hlua_check_proxy(L, 1);
+ lua_pushinteger(L, px->srv_bck);
+ return 1;
+}
+
int hlua_fcn_new_proxy(lua_State *L, struct proxy *px)
{
struct listener *lst;
@@ -1832,6 +1850,8 @@
hlua_class_function(L, "shut_bcksess", hlua_proxy_shut_bcksess);
hlua_class_function(L, "get_cap", hlua_proxy_get_cap);
hlua_class_function(L, "get_mode", hlua_proxy_get_mode);
+ hlua_class_function(L, "get_srv_act", hlua_proxy_get_srv_act);
+ hlua_class_function(L, "get_srv_bck", hlua_proxy_get_srv_bck);
hlua_class_function(L, "get_stats", hlua_proxy_get_stats);
/* Browse and register servers. */