1 local timeout = Dragonblocks.create_class()
5 function timeout:constructor(sec, func, ...)
6 self.exp, self.func, self.args = socket.gettime() + sec, func, table.pack(...)
7 table.insert(timeout.list, self)
10 function timeout:clear()
14 function Dragonblocks.set_timeout(sec, func, ...)
15 return timeout(sec, func, ...)
18 function Dragonblocks:clear_timeout()
22 Dragonblocks:add_task(function()
24 local tolist = timeout.list
25 local tm = socket.gettime()
27 for _, to in pairs(tolist) do
28 if not to.cleared then
30 to.func(table.unpack(to.args))
32 table.insert(timeout.list, to)