blob: 8449a0f1e2c6d962298f08031fd29da90d9edbb0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
lua_async = {
poll_functions = {},
}
function lua_async.clock()
return lua_async.socket and lua_async.socket.gettime() or os.clock()
end
function lua_async.step(dtime)
-- timers phase
lua_async.timeouts.step(dtime)
lua_async.intervals.step(dtime)
-- pending callbacks phase is obsolete
-- idle & prepare phase are obsolete
-- poll phase
for func in pairs(lua_async.poll_functions) do
func()
end
-- check phase
lua_async.immediates.step(dtime)
-- close phase is obsolete
end
return function(path, no_socket)
if not no_socket then
lua_async.socket = require("socket")
end
for _, f in ipairs {
"timeouts",
"intervals",
"immediates",
"promises",
"async_await",
"util",
"limiting",
"events",
} do
dofile(path .. "/" .. f .. ".lua")
end
end
|