File

teal-src/util/async.d.tl @ 12745:2cbf0e9314ff

mod_smacks: Change boolean attribute from '1' to 'true' for compatibility Conversations 2.10.10 and earlier expect this to be literally 'true' and don't recognise '1'. This leads to it not attempting resumption with Prosody at all since this change was introduced in 36ba170c4fd0. Thanks to Zash for noticing, debugging and diagnosing this issue. This issue is fixed in Conversations commit 052c58f3 (unreleased at the time of writing).
author Matthew Wild <mwild1@gmail.com>
date Fri, 07 Oct 2022 11:35:56 +0100
parent 12498:c3e47a5dd30d
line wrap: on
line source

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