File

teal-src/util/queue.d.tl @ 12828:f33887f925e1

net.server_epoll: Remove delay on last main loop iteration when quitting Main difference is that timers are not checked unconditionally before each poll, only when running out of previous poll results (hidden by util.poll). This removes a final poll at shutdown that usually delays the 'not quitting' condition check by one second.
author Kim Alvefur <zash@zash.se>
date Fri, 06 Jan 2023 04:38:39 +0100
parent 12622:ef59fb975d3e
line wrap: on
line source

local record lib
	record queue<T>
		size : integer
		count : function (queue<T>) : integer
		enum push_errors
			"queue full"
		end

		push : function (queue<T>, T) : boolean, push_errors
		pop : function (queue<T>) : T
		peek : function (queue<T>) : T
		replace : function (queue<T>, T) : boolean, push_errors
		type iterator = function (T, integer) : integer, T
		items : function (queue<T>) : iterator, T, integer
		type consume_iter = function (queue<T>) : T
		consume : function (queue<T>) : consume_iter
	end

	new : function<T> (size:integer, allow_wrapping:boolean) : queue<T>
end
return lib;