MINOR: hlua/event_hdl: timestamp for events

'when' optional argument is provided to lua event handlers.

It is an integer representing the number of seconds elapsed since Epoch
and may be used in conjunction with lua `os.date()` function to provide
a custom format string.
This commit is contained in:
Aurelien DARRAGON 2023-04-20 11:32:46 +02:00 committed by Christopher Faulet
parent e9314fb7a7
commit 096b383e16
2 changed files with 9 additions and 1 deletions

View File

@ -942,12 +942,16 @@ Core class
.. code-block:: lua
function(event, event_data, sub)
function(event, event_data, sub, when)
..
* **event** (*string*): the event type (one of the **event_types** you specified when subscribing)
* **event_data**: specific to each event family (For **SERVER** family, a :ref:`server_event_class` object)
* **sub**: class to manage the subscription from within the event (a :ref:`event_sub_class` object)
* **when**: timestamp corresponding to the date when the event was generated.
It is an integer representing the number of seconds elapsed since Epoch.
It may be provided as optional argument to `os.date()` lua function to
convert it to a string according to a given format string.
.. Warning::
The callback function will only be scheduled on the very same thread that

View File

@ -9087,6 +9087,10 @@ __LJMP static void hlua_event_hdl_cb_push_args(struct hlua_event_sub *hlua_sub,
/* sub mgmt */
hlua->nargs += 1;
hlua_fcn_new_event_sub(hlua->T, hlua_sub->sub);
/* when? */
hlua->nargs += 1;
lua_pushinteger(hlua->T, e->when.tv_sec);
}
/* events runner: if there's an ongoing hlua event handling process, finish it