method
request
v1_8_7_330 -
Show latest stable
- Class:
Resolv::DNS::Requester
request(sender, tout)public
No documentation available.
# File lib/resolv.rb, line 611
def request(sender, tout)
timelimit = Time.now + tout
sender.send
while true
now = Time.now
timeout = timelimit - now
if timeout <= 0
raise ResolvTimeout
end
select_result = IO.select(@socks, nil, nil, timeout)
if !select_result
raise ResolvTimeout
end
reply, from = recv_reply(select_result[0])
begin
msg = Message.decode(reply)
rescue DecodeError
next # broken DNS message ignored
end
if s = @senders[[from,msg.id]]
break
else
# unexpected DNS message ignored
end
end
return msg, s.data
end