def generate_timeouts(base=0, fudge_factor = 0)
timeouts = {}
retry_delay = @retry_delay
@retry_times.times do |retry_count|
if (retry_count>0)
retry_delay *= 2
end
servers=[]
@single_resolvers.each do |r| servers.push(r.server) end
@single_resolvers.each_index do |i|
res= @single_resolvers[i]
offset = (i*@retry_delay.to_f/@single_resolvers.length)
if (retry_count==0)
timeouts[base+offset+fudge_factor]=[res, retry_count]
else
if (timeouts.has_key?(base+retry_delay+offset))
TheLog.error("Duplicate timeout key!")
raise RuntimeError.new("Duplicate timeout key!")
end
timeouts[base+retry_delay+offset+fudge_factor]=[res, retry_count]
end
end
end
return timeouts
end