MINOR: lua: add "now" time function
This function returns the current time in the Lua.
This commit is contained in:
parent
fb0b5467ca
commit
b1f46561a0
@ -270,6 +270,20 @@ Core class
|
|||||||
:param string filename: the filename that reference the map entries.
|
:param string filename: the filename that reference the map entries.
|
||||||
:param string key: the key which will be deleted.
|
:param string key: the key which will be deleted.
|
||||||
|
|
||||||
|
.. js:function:: core.now()
|
||||||
|
|
||||||
|
**context**: body, init, task, action
|
||||||
|
|
||||||
|
This function returns the current time. The time returned is fixed by the
|
||||||
|
HAProxy core and assures than the hour will be monotnic and that the system
|
||||||
|
call 'gettimeofday' will not be called too. The time is refreshed between each
|
||||||
|
Lua execution or resume, so two consecutive call to the function "now" will
|
||||||
|
probably returns the same result.
|
||||||
|
|
||||||
|
:returns: an array which contains two entries "sec" and "usec". "sec"
|
||||||
|
contains the current at the epoch format, and "usec" contains the
|
||||||
|
current microseconds.
|
||||||
|
|
||||||
.. js:function:: core.msleep(milliseconds)
|
.. js:function:: core.msleep(milliseconds)
|
||||||
|
|
||||||
**context**: body, init, task, action
|
**context**: body, init, task, action
|
||||||
|
@ -7,6 +7,21 @@
|
|||||||
#include <lua.h>
|
#include <lua.h>
|
||||||
#include <lualib.h>
|
#include <lualib.h>
|
||||||
|
|
||||||
|
#include <common/time.h>
|
||||||
|
|
||||||
|
/* This function return the current date at epoch format in milliseconds. */
|
||||||
|
int hlua_now(lua_State *L)
|
||||||
|
{
|
||||||
|
lua_newtable(L);
|
||||||
|
lua_pushstring(L, "sec");
|
||||||
|
lua_pushinteger(L, now.tv_sec);
|
||||||
|
lua_rawset(L, -3);
|
||||||
|
lua_pushstring(L, "usec");
|
||||||
|
lua_pushinteger(L, now.tv_usec);
|
||||||
|
lua_rawset(L, -3);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void hlua_array_add_fcn(lua_State *L, const char *name,
|
static void hlua_array_add_fcn(lua_State *L, const char *name,
|
||||||
int (*function)(lua_State *L))
|
int (*function)(lua_State *L))
|
||||||
{
|
{
|
||||||
@ -17,5 +32,6 @@ static void hlua_array_add_fcn(lua_State *L, const char *name,
|
|||||||
|
|
||||||
int hlua_fcn_reg_core_fcn(lua_State *L)
|
int hlua_fcn_reg_core_fcn(lua_State *L)
|
||||||
{
|
{
|
||||||
return 0;
|
hlua_array_add_fcn(L, "now", hlua_now);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user