teal-src/util/poll.d.tl
author Kim Alvefur <zash@zash.se>
Wed, 23 Feb 2022 20:31:03 +0100
changeset 12320 6bb2f660f689
parent 12319 cf2086a1bd45
permissions -rw-r--r--
util.poll: Add support for the poll() API Might be better than select(), more portable than epoll.

local record state
	enum waiterr
		"timeout"
		"signal"
	end
	add : function (state, integer, boolean, boolean) : boolean
	add : function (state, integer, boolean, boolean) : nil, string, integer
	set : function (state, integer, boolean, boolean) : boolean
	set : function (state, integer, boolean, boolean) : nil, string, integer
	del : function (state, integer) : boolean
	del : function (state, integer) : nil, string, integer
	wait : function (state, integer) : integer, boolean, boolean
	wait : function (state, integer) : nil, string, integer
	wait : function (state, integer) : nil, waiterr
	getfd : function (state) : integer
end

local record lib
	new : function () : state
	EEXIST : integer
	EMFILE : integer
	ENOENT : integer
	enum api_backend
		"epoll"
		"poll"
		"select"
	end
	api : api_backend
end

return lib