Lines Matching refs:L
22 int mcplib_ratelim_global_tbf_gc(lua_State *L) { in mcplib_ratelim_global_tbf_gc() argument
23 struct mcp_ratelim_global_tbf *lim = luaL_checkudata(L, 1, "mcp.ratelim_global_tbf"); in mcplib_ratelim_global_tbf_gc()
32 int mcplib_ratelim_proxy_tbf_gc(lua_State *L) { in mcplib_ratelim_proxy_tbf_gc() argument
33 struct mcp_ratelim_global_tbf **lim_p = luaL_checkudata(L, 1, "mcp.ratelim_proxy_tbf"); in mcplib_ratelim_proxy_tbf_gc()
35 proxy_ctx_t *ctx = PROXY_GET_THR_CTX(L); in mcplib_ratelim_proxy_tbf_gc()
54 static lua_Integer _tbf_check(lua_State *L, char *key) { in _tbf_check() argument
56 if (lua_getfield(L, 1, key) != LUA_TNIL) { in _tbf_check()
57 n = lua_tointeger(L, -1); in _tbf_check()
59 proxy_lua_error(L, "mcp.ratelim_tbf: arguments must be unsigned 32 bit integer"); in _tbf_check()
62 lua_pop(L, 1); // pops value or nil. in _tbf_check()
66 static void _setup_tbf(lua_State *L, struct mcp_ratelim_tbf *lim) { in _setup_tbf() argument
68 luaL_checktype(L, 1, LUA_TTABLE); in _setup_tbf()
69 lim->limit = _tbf_check(L, "limit"); in _setup_tbf()
70 lim->fill_rate = _tbf_check(L, "fillrate"); in _setup_tbf()
71 lim->tick_rate = _tbf_check(L, "tickrate"); in _setup_tbf()
79 int mcplib_ratelim_tbf(lua_State *L) { in mcplib_ratelim_tbf() argument
80 struct mcp_ratelim_tbf *lim = lua_newuserdatauv(L, sizeof(*lim), 0); in mcplib_ratelim_tbf()
82 luaL_setmetatable(L, "mcp.ratelim_tbf"); in mcplib_ratelim_tbf()
84 _setup_tbf(L, lim); in mcplib_ratelim_tbf()
88 int mcplib_ratelim_global_tbf(lua_State *L) { in mcplib_ratelim_global_tbf() argument
89 struct mcp_ratelim_global_tbf *lim = lua_newuserdatauv(L, sizeof(*lim), 0); in mcplib_ratelim_global_tbf()
94 luaL_setmetatable(L, "mcp.ratelim_global_tbf"); in mcplib_ratelim_global_tbf()
96 _setup_tbf(L, &lim->tbf); in mcplib_ratelim_global_tbf()
124 int mcplib_ratelim_tbf_call(lua_State *L) { in mcplib_ratelim_tbf_call() argument
125 struct mcp_ratelim_tbf *lim = luaL_checkudata(L, 1, "mcp.ratelim_tbf"); in mcplib_ratelim_tbf_call()
126 luaL_checktype(L, 2, LUA_TNUMBER); in mcplib_ratelim_tbf_call()
127 int take = lua_tointeger(L, 2); in mcplib_ratelim_tbf_call()
133 lua_pushboolean(L, _update_tbf(lim, take, now_millis)); in mcplib_ratelim_tbf_call()
148 int mcplib_ratelim_proxy_tbf_call(lua_State *L) { in mcplib_ratelim_proxy_tbf_call() argument
149 struct mcp_ratelim_global_tbf **lim_p = luaL_checkudata(L, 1, "mcp.ratelim_proxy_tbf"); in mcplib_ratelim_proxy_tbf_call()
153 luaL_checktype(L, 2, LUA_TNUMBER); in mcplib_ratelim_proxy_tbf_call()
154 int take = lua_tointeger(L, 2); in mcplib_ratelim_proxy_tbf_call()
163 lua_pushboolean(L, res); in mcplib_ratelim_proxy_tbf_call()