@!visibility private
# File lib/concurrent/edge/future.rb, line 1096 def initialize(blocked_by_future, default_executor, executor, &task) raise ArgumentError, 'only Future can be appended with then' unless blocked_by_future.is_a? Future super blocked_by_future, default_executor, executor, &task end
# File lib/concurrent/edge/future.rb, line 1101 def on_completable(done_future) if done_future.success? Concurrent.post_on(@Executor, done_future, @Task) do |future, task| evaluate_to lambda { future.apply task } end else complete_with done_future.internal_state end end