Merge 0.10->trunk
[prosody.git] / net / server_event.lua
index 2cb45553b9fdd552413602e66aea1a77ebf49b77..c10173e48cea11f9678ef9276f9c518fda64ba0c 100644 (file)
@@ -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,