From c72051d53a4062e4340838247b04b40a881ed926 Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Wed, 29 Mar 2023 10:44:38 +0200 Subject: [PATCH] MINOR: hlua_fcn: add Server.is_backup() This function returns true if the current server is a backup server. --- doc/lua-api/index.rst | 8 ++++++++ src/hlua_fcn.c | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst index 66d5da67f..deef2618d 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 639a1ef01..dc9ded4aa 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);