teal-src/util/async.d.tl
changeset 12502 c3e47a5dd30d
equal deleted inserted replaced
12501:83f269db6850 12502:c3e47a5dd30d
       
     1 local record lib
       
     2 	ready : function () : boolean
       
     3 	waiter : function (num : integer, allow_many : boolean) : function (), function ()
       
     4 	guarder : function () : function (id : function ()) : function () | nil
       
     5 	record runner_t<T>
       
     6 		func : function (T)
       
     7 		thread : thread
       
     8 		enum state_e
       
     9 			-- from Lua manual
       
    10 			"running"
       
    11 			"suspended"
       
    12 			"normal"
       
    13 			"dead"
       
    14 
       
    15 			-- from util.async
       
    16 			"ready"
       
    17 			"error"
       
    18 		end
       
    19 		state : state_e
       
    20 		notified_state : state_e
       
    21 		queue : { T }
       
    22 		type watcher_t = function (runner_t<T>, ... : any)
       
    23 		type watchers_t = { state_e : watcher_t }
       
    24 		data : any
       
    25 		id : string
       
    26 
       
    27 		run : function (runner_t<T>, T) : boolean, state_e, integer
       
    28 		enqueue : function (runner_t<T>, T) : runner_t<T>
       
    29 		log : function (runner_t<T>, string, string, ... : any)
       
    30 		onready : function (runner_t<T>, function) : runner_t<T>
       
    31 		onready : function (runner_t<T>, function) : runner_t<T>
       
    32 		onwaiting : function (runner_t<T>, function) : runner_t<T>
       
    33 		onerror : function (runner_t<T>, function) : runner_t<T>
       
    34 	end
       
    35 	runner : function <T>(function (T), runner_t.watchers_t, any) : runner_t<T>
       
    36 	wait_for : function (any) : any, any
       
    37 	sleep : function (t:number)
       
    38 
       
    39 	-- set_nexttick = function(new_next_tick) next_tick = new_next_tick; end;
       
    40 	-- set_schedule_function = function (new_schedule_function) schedule_task = new_schedule_function; end;
       
    41 end
       
    42 return lib