class Concurrent::Promises::FlatEventPromise
Public Class Methods
Source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1833 def initialize(delayed, blockers_count, default_executor) super delayed, 2, Event.new(self, default_executor) end
Calls superclass method
Concurrent::Promises::AbstractFlatPromise::new
Private Instance Methods
Source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1837 def process_on_blocker_resolution(future, index) countdown = super(future, index) if countdown.nonzero? internal_state = future.internal_state unless internal_state.fulfilled? resolve_with RESOLVED return countdown end value = internal_state.value case value when AbstractEventFuture add_delayed_of value value.add_callback_notify_blocked self, nil countdown else resolve_with RESOLVED end end countdown end
Calls superclass method
Concurrent::Promises::BlockedPromise#process_on_blocker_resolution