]> git.lizzy.rs Git - lua_async.git/blob - init.lua
Subtract dtime from sleep time
[lua_async.git] / init.lua
1 lua_async = {}
2
3 if rawget(_G, "require") then
4         lua_async.socket = require("socket")
5 end
6
7 function lua_async.clock()
8         return lua_async.socket and lua_async.socket.gettime() or os.clock()
9 end
10
11 function lua_async.step(dtime)
12         -- timers phase
13         lua_async.timeouts.step(dtime)
14         lua_async.intervals.step(dtime)
15
16         -- pending callbacks phase is done by minetest
17
18         -- idle & prepare phase are obsolete
19
20         -- poll phase is obsolete
21
22         -- check phase
23         lua_async.immediates.step(dtime)
24
25         -- close phase is obsolete
26 end
27
28 return function(path)
29         for _, f in ipairs {
30                 "timeouts",
31                 "intervals",
32                 "immediates",
33                 "promises",
34                 "async_await",
35                 "util",
36                 "limiting",
37                 "events",
38         } do
39                 dofile(path .. f .. ".lua")
40         end
41 end