# File lib/concurrent/promises.rb, line 1711 def initialize(delayed, blockers_count, default_executor) super delayed, 2, Future.new(self, default_executor) @result = nil end
# File lib/concurrent/promises.rb, line 1725 def on_resolvable(resolved_future, index) resolve_with @result end
# File lib/concurrent/promises.rb, line 1718 def process_on_blocker_resolution(future, index) # first blocking is future, take its result @result = future.internal_state if index == 0 # super has to be called after above to piggyback on volatile @Countdown super future, index end