summaryrefslogtreecommitdiff
path: root/util/queue.lua
diff options
context:
space:
mode:
authorubq323 <ubq323@ubq323.website>2025-02-27 23:23:57 +0000
committerubq323 <ubq323@ubq323.website>2025-02-27 23:23:57 +0000
commit5dea96ad915692e9abbc0620930756c51c256179 (patch)
tree881d7680a521474f262bac262f382e778c1fc191 /util/queue.lua
parentec4053dea479c3c85d57c447e262a90addcce5c3 (diff)
restructure, refactor, a bit
Diffstat (limited to 'util/queue.lua')
-rw-r--r--util/queue.lua39
1 files changed, 0 insertions, 39 deletions
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