def process_normal(args)
Log.debug { "process " + self.to_s }
for ip in @serverips do
Log.debug { "Process normal #{ip}" }
next if ip =~ /^key:/
m = nil
if @refid.scan(/\./).length >= @maxdepth.to_i then
m = RuntimeError.new "Maxdepth #{@maxdepth} exceeded"
end
Log.debug { "Process normal #{ip} - making response" }
r = DNSTraverse::Response.new(:message => m, :qname => @qname,
:qclass => @qclass, :qtype => @qtype,
:bailiwick => @bailiwick,
:infocache => @infocache, :ip => ip,
:decoded_query_cache => @decoded_query_cache)
Log.debug { "Process normal #{ip} - done making response" }
@responses[ip] = r
case r.status
when :restart, :referral then
Log.debug { "Process normal #{ip} - making referrals" }
@children[ip] = make_referrals(:qname => r.endname,
:starters => r.starters,
:bailiwick => r.starters_bailiwick,
:infocache => r.infocache,
:parent_ip => ip)
Log.debug { "Process normal #{ip} - done making referrals" }
end
end
end