Class: Async::Scheduler::FiberInterrupt

Inherits:
Object
  • Object
show all
Defined in:
lib/async/scheduler.rb

Overview

Used to defer stopping the current task until later.

Instance Method Summary collapse

Constructor Details

#initialize(fiber, exception) ⇒ FiberInterrupt

Create a new stop later operation.



394
395
396
397
# File 'lib/async/scheduler.rb', line 394

def initialize(fiber, exception)
	@fiber = fiber
	@exception = exception
end

Instance Method Details

#alive?Boolean

Returns:

  • (Boolean)


400
401
402
# File 'lib/async/scheduler.rb', line 400

def alive?
	@fiber.alive?
end

#transferObject

Transfer control to the operation - this will stop the task.



405
406
407
408
# File 'lib/async/scheduler.rb', line 405

def transfer
	# Fiber.blocking{$stderr.puts "FiberInterrupt#transfer(#{@fiber}, #{@exception})"}
	@fiber.raise(@exception)
end