Class: EventMachine::DnsCache::Request

Inherits:
Object
  • Object
show all
Includes:
EM::Deferrable
Defined in:
lib/em/dns_cache.rb

Constant Summary collapse

@@outstanding =
{}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rslt, m_id) ⇒ Request

Returns a new instance of Request.



263
264
265
266
267
268
269
270
271
272
# File 'lib/em/dns_cache.rb', line 263

def initialize rslt, m_id
  @result = rslt
  @msgid = m_id
  raise "request-queue overflow" if @@outstanding.has_key?(@msgid)
  @@outstanding[@msgid] = self

  self.timeout(10)
  self.errback { @@outstanding.delete(@msgid) }
  self.callback {|resp| @result.succeed resp }
end

Class Method Details

.post(response) ⇒ Object



257
258
259
260
261
# File 'lib/em/dns_cache.rb', line 257

def self.post response
  if r = @@outstanding.delete(response.id)
    r.succeed response
  end
end