class Coolio::DNSResolver::Timeout
Public Class Methods
new(resolver)
click to toggle source
Calls superclass method
Coolio::TimerWatcher::new
# File lib/cool.io/dns_resolver.rb, line 208 def initialize(resolver) @resolver = resolver @attempts = 0 super(TIMEOUT, true) end
Public Instance Methods
on_timer()
click to toggle source
# File lib/cool.io/dns_resolver.rb, line 214 def on_timer @attempts += 1 if @attempts <= RETRIES begin return @resolver.__send__(:send_request) rescue Errno::EHOSTUNREACH # if the DNS is toast try again after the timeout occurs again return nil end end @resolver.__send__(:on_timeout) @resolver.detach end