class UringMachine::DNSResolver
def do_resolve(hostname, type, try_count = 0)
def do_resolve(hostname, type, try_count = 0) fd = socket_fd req = prepare_request_packet(hostname, type) msg = req.encode @machine.send(fd, msg, msg.bytesize, 0) buf = +'' @machine.recv(fd, buf, 16384, 0) msg = Resolv::DNS::Message.decode buf addrs = [] msg.each_answer do |name, ttl, data| p [name, ttl, data] if data.kind_of?(Resolv::DNS::Resource::IN::A) || data.kind_of?(Resolv::DNS::Resource::IN::AAAA) addrs << data.address.to_s end end addrs end