From 5dea96ad915692e9abbc0620930756c51c256179 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Thu, 27 Feb 2025 23:23:57 +0000 Subject: restructure, refactor, a bit --- util/queue.lua | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 util/queue.lua (limited to 'util/queue.lua') diff --git a/util/queue.lua b/util/queue.lua deleted file mode 100644 index 8c9c373..0000000 --- a/util/queue.lua +++ /dev/null @@ -1,39 +0,0 @@ -local cqueues = require'cqueues' -local condition = require'cqueues.condition' -local cqaux = require'cqueues.auxlib' - -local Queue = {} - -function Queue.make() - return setmetatable({ - items = {}, - cv = condition.new(), - }, {__index=Queue}) -end - -function Queue.enqueue(self, ...) - local item = table.pack(...) - table.insert(self.items, item) - if #self.items > 128 then - print('warning: queue is quite big') - end - self.cv:signal() -end - -function Queue.iter(self) - return cqaux.wrap(function() - while true do - while #self.items > 0 do - local items = self.items - self.items = {} -- the old switcheroo - for _, item in ipairs(items) do - coroutine.yield(table.unpack(item, 1, item.n)) - end - end - self.cv:wait() - end - end) -end - - -return Queue -- cgit v1.2.3