libubox: allow reading out the remaining time of a uloop timer in Lua
authorStijn Cleynhens <stijncleynhens@gmail.com>
Mon, 5 Dec 2016 14:11:05 +0000 (15:11 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 5 Dec 2016 17:11:50 +0000 (18:11 +0100)
Add Lua method to the uloop wrapper to allow reading out the remaining time of a uloop timer

Signed-off-by: Stijn Cleynhens <stijncleynhens@gmail.com>
lua/uloop.c

index c5dd12f..a78c2dc 100644 (file)
@@ -94,6 +94,15 @@ static int ul_timer_set(lua_State *L)
        return 1;
 }
 
        return 1;
 }
 
+static int ul_timer_remaining(lua_State *L)
+{
+       struct lua_uloop_timeout *tout;
+
+       tout = lua_touserdata(L, 1);
+       lua_pushnumber(L, uloop_timeout_remaining(&tout->t));
+       return 1;
+}
+
 static int ul_timer_free(lua_State *L)
 {
        struct lua_uloop_timeout *tout = lua_touserdata(L, 1);
 static int ul_timer_free(lua_State *L)
 {
        struct lua_uloop_timeout *tout = lua_touserdata(L, 1);
@@ -114,6 +123,7 @@ static int ul_timer_free(lua_State *L)
 
 static const luaL_Reg timer_m[] = {
        { "set", ul_timer_set },
 
 static const luaL_Reg timer_m[] = {
        { "set", ul_timer_set },
+       { "remaining", ul_timer_remaining },
        { "cancel", ul_timer_free },
        { NULL, NULL }
 };
        { "cancel", ul_timer_free },
        { NULL, NULL }
 };