File

net/resolvers/manual.lua @ 11762:54530085dffe

net.server: Fall back to default backend from libevent instead of always select Fixes that selecting libevent when unavaibalbe would fall back to select instead of epoll, even if that's available. This way, we only have to update it in once place when choosing a new default.
author Kim Alvefur <zash@zash.se>
date Fri, 03 Sep 2021 17:35:34 +0200
parent 9691:e11e076f0eb8
child 12589:39ae08180c81
line wrap: on
line source

local methods = {};
local resolver_mt = { __index = methods };
local unpack = table.unpack or unpack; -- luacheck: ignore 113

-- Find the next target to connect to, and
-- pass it to cb()
function methods:next(cb)
	if #self.targets == 0 then
		cb(nil);
		return;
	end
	local next_target = table.remove(self.targets, 1);
	cb(unpack(next_target, 1, 4));
end

local function new(targets, conn_type, extra)
	return setmetatable({
		conn_type = conn_type;
		extra = extra;
		targets = targets or {};
	}, resolver_mt);
end

return {
	new = new;
};