# File lib/em/resolver.rb, line 97 def nameserver @nameserver || Resolver.nameserver end
# File lib/em/resolver.rb, line 93 def nameserver=(ns) @nameserver = ns end
# File lib/em/resolver.rb, line 67 def post_init @requests = {} EM.add_periodic_timer(0.1, &method(:tick)) end
Decodes the packet, looks for the request and passes the response over to the requester
# File lib/em/resolver.rb, line 103 def receive_data(data) msg = nil begin msg = Resolv::DNS::Message.decode data rescue else req = @requests[msg.id] if req @requests.delete(msg.id) req.receive_answer(msg) end end end
# File lib/em/resolver.rb, line 81 def register_request(id, req) if @requests.has_key?(id) raise RequestIdAlreadyUsed else @requests[id] = req end end
# File lib/em/resolver.rb, line 89 def send_packet(pkt) send_datagram(pkt, nameserver, 53) end
Generated with the Darkfish Rdoc Generator 2.