From: Aurelien DARRAGON Date: Wed, 29 Mar 2023 08:44:38 +0000 (+0200) Subject: MINOR: hlua_fcn: add Server.is_backup() X-Git-Tag: v2.8-dev10~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c72051d53a4062e4340838247b04b40a881ed926;p=thirdparty%2Fhaproxy.git MINOR: hlua_fcn: add Server.is_backup() This function returns true if the current server is a backup server. --- diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index 66d5da67fd..deef2618d1 100644 --- a/doc/lua-api/index.rst +++ b/doc/lua-api/index.rst @@ -1158,6 +1158,14 @@ Server class server. :returns: a boolean +.. js:function:: Server.is_backup(sv) + + Return true if the server is a backup server + + :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 639a1ef010..dc9ded4aa0 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -1072,6 +1072,20 @@ int hlua_server_is_draining(lua_State *L) return 1; } +int hlua_server_is_backup(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_BACKUP)); + return 1; +} + int hlua_server_set_maxconn(lua_State *L) { struct server *srv; @@ -1422,6 +1436,7 @@ int hlua_fcn_new_server(lua_State *L, struct server *srv) hlua_class_function(L, "get_puid", hlua_server_get_puid); 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, "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);