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.



385
386
387
388
# File 'lib/async/scheduler.rb', line 385

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

Instance Method Details

#alive?Boolean

Returns:

  • (Boolean)


391
392
393
# File 'lib/async/scheduler.rb', line 391

def alive?
	@fiber.alive?
end

#transferObject

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



396
397
398
399
# File 'lib/async/scheduler.rb', line 396

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