Merge 0.10->trunk
[prosody.git] / net / server_event.lua
index 1329a43d67abc0933f234b3af829763afaf28453..08524646c19e4ebf2aa63e89f1e4d6e92ae1a648 100644 (file)
@@ -805,6 +805,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,
@@ -820,6 +834,7 @@ return {
        closeall = closeallservers,
        get_backend = get_backend,
        hook_signal = hook_signal,
+       add_task = add_task,
 
        __NAME = SCRIPT_NAME,
        __DATE = LAST_MODIFIED,