def resolve(*args)
raise "This Referral object has already been resolved" if resolved?
if noglue? then
Log.debug { "Attempt to resolve #{@server} with a bailiwick referral " +
" of #{bailiwick} - no glue record provided" }
return Array.new
end
refid = "#{@refid}.0"
child_refid = 1
starters, newbailiwick = @infocache.get_startservers(@server)
Log.debug { "Resolving #{@server} type #{@nsatype} " }
for starter in starters do
r = make_referral(:server => starter[:name],
:serverips => starter[:ips],
:referral_resolution => true,
:qname => @server, :qclass => 'IN',
:qtype => @nsatype, :bailiwick => newbailiwick,
:refid => "#{refid}.#{child_refid}")
(@resolves||= []) << r
child_refid+= 1
end
return @resolves
end