Class: EventMachine::DnsCache::Request
- Inherits:
-
Object
- Object
- EventMachine::DnsCache::Request
- Includes:
- EM::Deferrable
- Defined in:
- lib/em/dns_cache.rb
Constant Summary collapse
- @@outstanding =
{}
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(rslt, m_id) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(rslt, m_id) ⇒ Request
Returns a new instance of Request.
316 317 318 319 320 321 322 323 324 325 |
# File 'lib/em/dns_cache.rb', line 316 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 { self.cancel_timeout; @@outstanding.delete(@msgid); @result.fail } self.callback {|resp| self.cancel_timeout; @result.succeed resp } end |
Class Method Details
.post(response) ⇒ Object
310 311 312 313 314 |
# File 'lib/em/dns_cache.rb', line 310 def self.post response if r = @@outstanding.delete(response.id) r.succeed response end end |