X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=net%2Fserver_event.lua;h=c10173e48cea11f9678ef9276f9c518fda64ba0c;hb=6bf03026751e4d7223c8c2e8f294f0bac66c04ad;hp=2cb45553b9fdd552413602e66aea1a77ebf49b77;hpb=69885595356119a476f34c9e1550e984ad546af0;p=prosody.git diff --git a/net/server_event.lua b/net/server_event.lua index 2cb45553..c10173e4 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -806,6 +806,20 @@ local function link(sender, receiver, buffersize) sender:set_mode("*a"); end +local function add_task(delay, callback) + local event_handle; + event_handle = base:addevent(nil, 0, function () + local ret = callback(socket_gettime()); + if ret then + return 0, ret; + elseif event_handle then + return -1; + end + end + , delay); + return event_handle; +end + return { cfg = cfg, base = base, @@ -821,6 +835,7 @@ return { closeall = closeallservers, get_backend = get_backend, hook_signal = hook_signal, + add_task = add_task, __NAME = SCRIPT_NAME, __DATE = LAST_MODIFIED,