# File resolv.rb, line 749 def close super @senders.each_key {|from,id| DNS.free_request_id(@host, @port, id) } end
# File resolv.rb, line 725 def recv_reply len = @sock.read(2).unpack('n')[0] reply = @sock.read(len) return reply, nil end
# File resolv.rb, line 731 def sender(msg, data, host=@host, port=@port) unless host == @host && port == @port raise RequestError.new("host/port don't match: #{host}:#{port}") end id = DNS.allocate_request_id(@host, @port) request = msg.encode request[0,2] = [request.length, id].pack('nn') return @senders[[nil,id]] = Sender.new(request, data, @sock) end