47 function new_async_socket(sock, resolver) |
47 function new_async_socket(sock, resolver) |
48 local peername = "<unknown>"; |
48 local peername = "<unknown>"; |
49 local listener = {}; |
49 local listener = {}; |
50 local handler = {}; |
50 local handler = {}; |
51 function listener.onincoming(conn, data) |
51 function listener.onincoming(conn, data) |
52 dns.feed(handler, data); |
52 if data then |
|
53 dns.feed(handler, data); |
|
54 end |
53 end |
55 end |
54 function listener.ondisconnect(conn, err) |
56 function listener.ondisconnect(conn, err) |
55 log("warn", "DNS socket for %s disconnected: %s", peername, err); |
57 log("warn", "DNS socket for %s disconnected: %s", peername, err); |
56 local servers = resolver.server; |
58 local servers = resolver.server; |
57 if resolver.socketset[conn] == resolver.best_server and resolver.best_server == #servers then |
59 if resolver.socketset[conn] == resolver.best_server and resolver.best_server == #servers then |