log("debug", "Reply for %s (%s)", qname, tostring(coroutine.running()));
local ok, err = pcall(handler, dns.peek(qname, qtype, qclass));
if not ok then
- log("debug", "Error in DNS response handler: %s", tostring(err));
+ log("error", "Error in DNS response handler: %s", tostring(err));
end
end)(dns.peek(qname, qtype, qclass));
end
function new_async_socket(sock, resolver)
local newconn, peername = {}, "<unknown>";
local listener = {};
- function listener.incoming(conn, data)
+ function listener.onincoming(conn, data)
dns.feed(sock, data);
end
- function listener.disconnect(conn, err)
+ function listener.ondisconnect(conn, err)
log("warn", "DNS socket for %s disconnected: %s", peername, err);
local servers = resolver.server;
if resolver.socketset[newconn.handler] == resolver.best_server and resolver.best_server == #servers then
newconn.handler.setsockname = function (_, ...) return sock:setsockname(...); end
newconn.handler.setpeername = function (_, ...) peername = (...); local ret = sock:setpeername(...); _.setsend(sock.send); return ret; end
newconn.handler.connect = function (_, ...) return sock:connect(...) end
- newconn.handler.send = function (_, data) _.write(data); return _.sendbuffer(); end
+ newconn.handler.send = function (_, data) _.write(_, data); return _.sendbuffer(); end
return newconn.handler;
end