mirror of
https://github.com/bjc/prosody.git
synced 2025-04-04 05:37:39 +03:00
util.async: Add Teal description file
This commit is contained in:
parent
1c6747f200
commit
117c340edb
2 changed files with 43 additions and 1 deletions
|
@ -88,7 +88,7 @@ local function run_task(task : task_spec)
|
|||
task:save(started_at);
|
||||
end
|
||||
|
||||
local task_runner = async.runner(run_task);
|
||||
local task_runner : async.runner_t<task_spec> = async.runner(run_task);
|
||||
module:add_timer(1, function() : integer
|
||||
module:log("info", "Running periodic tasks");
|
||||
local delay = 3600;
|
||||
|
|
42
teal-src/util/async.d.tl
Normal file
42
teal-src/util/async.d.tl
Normal file
|
@ -0,0 +1,42 @@
|
|||
local record lib
|
||||
ready : function () : boolean
|
||||
waiter : function (num : integer, allow_many : boolean) : function (), function ()
|
||||
guarder : function () : function (id : function ()) : function () | nil
|
||||
record runner_t<T>
|
||||
func : function (T)
|
||||
thread : thread
|
||||
enum state_e
|
||||
-- from Lua manual
|
||||
"running"
|
||||
"suspended"
|
||||
"normal"
|
||||
"dead"
|
||||
|
||||
-- from util.async
|
||||
"ready"
|
||||
"error"
|
||||
end
|
||||
state : state_e
|
||||
notified_state : state_e
|
||||
queue : { T }
|
||||
type watcher_t = function (runner_t<T>, ... : any)
|
||||
type watchers_t = { state_e : watcher_t }
|
||||
data : any
|
||||
id : string
|
||||
|
||||
run : function (runner_t<T>, T) : boolean, state_e, integer
|
||||
enqueue : function (runner_t<T>, T) : runner_t<T>
|
||||
log : function (runner_t<T>, string, string, ... : any)
|
||||
onready : function (runner_t<T>, function) : runner_t<T>
|
||||
onready : function (runner_t<T>, function) : runner_t<T>
|
||||
onwaiting : function (runner_t<T>, function) : runner_t<T>
|
||||
onerror : function (runner_t<T>, function) : runner_t<T>
|
||||
end
|
||||
runner : function <T>(function (T), runner_t.watchers_t, any) : runner_t<T>
|
||||
wait_for : function (any) : any, any
|
||||
sleep : function (t:number)
|
||||
|
||||
-- set_nexttick = function(new_next_tick) next_tick = new_next_tick; end;
|
||||
-- set_schedule_function = function (new_schedule_function) schedule_task = new_schedule_function; end;
|
||||
end
|
||||
return lib
|
Loading…
Add table
Add a link
Reference in a new issue