MINOR: hlua_fcn: add Server.is_dynamic()
This function returns true if the current server is dynamic,
meaning that it was instantiated at runtime (ie: from the cli)
diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst
index deef261..5c05871 100644
--- a/doc/lua-api/index.rst
+++ b/doc/lua-api/index.rst
@@ -1166,6 +1166,14 @@
server.
:returns: a boolean
+.. js:function:: Server.is_dynamic(sv)
+
+ Return true if the server was instantiated at runtime (e.g.: from the cli)
+
+ :param class_server sv: A :ref:`server_class` which indicates the manipulated
+ server.
+ :returns: a boolean
+
.. js:function:: Server.set_maxconn(sv, weight)
Dynamically change the maximum connections of the server. See the management
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index dc9ded4..61eb580 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -1086,6 +1086,20 @@
return 1;
}
+int hlua_server_is_dynamic(lua_State *L)
+{
+ struct server *srv;
+
+ srv = hlua_check_server(L, 1);
+ if (srv == NULL) {
+ lua_pushnil(L);
+ return 1;
+ }
+
+ lua_pushboolean(L, (srv->flags & SRV_F_DYNAMIC));
+ return 1;
+}
+
int hlua_server_set_maxconn(lua_State *L)
{
struct server *srv;
@@ -1437,6 +1451,7 @@
hlua_class_function(L, "get_rid", hlua_server_get_rid);
hlua_class_function(L, "is_draining", hlua_server_is_draining);
hlua_class_function(L, "is_backup", hlua_server_is_backup);
+ hlua_class_function(L, "is_dynamic", hlua_server_is_dynamic);
hlua_class_function(L, "set_maxconn", hlua_server_set_maxconn);
hlua_class_function(L, "get_maxconn", hlua_server_get_maxconn);
hlua_class_function(L, "set_weight", hlua_server_set_weight);