class Contender::ExecutorService
@abstract
Public Instance Methods
await_termination(timeout)
click to toggle source
@abstract @param [Float] timeout @return [Boolean]
# File lib/contender/executor_service.rb, line 19 def await_termination(timeout) raise NotImplementedError end
future_for(task)
click to toggle source
@api public @param [Object] task @return [FutureTask]
# File lib/contender/executor_service.rb, line 89 def future_for(task) FutureTask.new task end
invoke_all(tasks)
click to toggle source
@api public @param [Array<Object>] tasks @return [Array<FutureTask>]
# File lib/contender/executor_service.rb, line 52 def invoke_all(tasks) finished = false futures = Array.new begin tasks.each do |task| future = create_task_for task futures.push future execute future end futures.each do |future| unless future.done? begin future.result rescue CancellationError rescue ExecutionError # The caller can deal with these errors end end end finished = true futures ensure unless finished futures.each do |future| future.cancel true end end end end
shutdown()
click to toggle source
@abstract @return [undefined]
# File lib/contender/executor_service.rb, line 6 def shutdown raise NotImplementedError end
shutdown!()
click to toggle source
@abstract @return [Array]
# File lib/contender/executor_service.rb, line 12 def shutdown! raise NotImplementedError end
shutdown?()
click to toggle source
@abstract @return [Boolean]
# File lib/contender/executor_service.rb, line 25 def shutdown? raise NotImplementedError end
submit(callable = nil, &block)
click to toggle source
@api public @raise [ArgumentError] If neither a block nor callable were given @param [Object] callable @return [FutureTask]
# File lib/contender/executor_service.rb, line 39 def submit(callable = nil, &block) callable ||= block raise ArgumentError unless callable future = future_for callable execute future future end
terminated?()
click to toggle source
@abstract @return [Boolean]
# File lib/contender/executor_service.rb, line 31 def terminated? raise NotImplementedError end