-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
---
+--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
if delay >= current_time then
t_insert(new_data, {delay, callback});
else
- local r = callback();
+ local r = callback(current_time);
if r and type(r) == "number" then
return _add_task(r, callback);
end
end
new_data = {};
end
-
+
local next_time = math_huge;
for i, d in pairs(data) do
local t, callback = d[1], d[2];
return next_time;
end);
else
- local event = require "net.server".event;
- local event_base = require "net.server".event_base;
+ local event = server.event;
+ local event_base = server.event_base;
local EVENT_LEAVE = (event.core and event.core.LEAVE) or -1;
function _add_task(delay, callback)
local event_handle;
event_handle = event_base:addevent(nil, 0, function ()
- local ret = callback();
+ local ret = callback(get_time());
if ret then
return 0, ret;
elseif event_handle then