+
+ local next = math.huge
+
+ for _, timeout in pairs(lua_async.timeouts.pool) do
+ next = math.min(next, timeout.time_left)
+ end
+
+ for _, interval in pairs(lua_async.intervals.pool) do
+ next = math.min(next, interval.time_left)
+ end
+
+ if next == math.huge then
+ return
+ end
+
+ if next > dtime then
+ lua_async.socket.sleep(next - dtime)
+ end