# HG changeset patch # User Kim Alvefur # Date 1652016095 -7200 # Node ID c3e47a5dd30d7ef85cf9c915930c6529687d11e9 # Parent 83f269db68503784184f01c085c7d0ee4b88e746 util.async: Add Teal description file diff -r 83f269db6850 -r c3e47a5dd30d teal-src/plugins/mod_cron.tl --- a/teal-src/plugins/mod_cron.tl Sun May 08 18:06:41 2022 +0200 +++ b/teal-src/plugins/mod_cron.tl Sun May 08 15:21:35 2022 +0200 @@ -88,7 +88,7 @@ task:save(started_at); end -local task_runner = async.runner(run_task); +local task_runner : async.runner_t = async.runner(run_task); module:add_timer(1, function() : integer module:log("info", "Running periodic tasks"); local delay = 3600; diff -r 83f269db6850 -r c3e47a5dd30d teal-src/util/async.d.tl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/teal-src/util/async.d.tl Sun May 08 15:21:35 2022 +0200 @@ -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 + 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, ... : any) + type watchers_t = { state_e : watcher_t } + data : any + id : string + + run : function (runner_t, T) : boolean, state_e, integer + enqueue : function (runner_t, T) : runner_t + log : function (runner_t, string, string, ... : any) + onready : function (runner_t, function) : runner_t + onready : function (runner_t, function) : runner_t + onwaiting : function (runner_t, function) : runner_t + onerror : function (runner_t, function) : runner_t + end + runner : function (function (T), runner_t.watchers_t, any) : runner_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