Class: Async::Scheduler::FiberInterrupt
- Inherits:
-
Object
- Object
- Async::Scheduler::FiberInterrupt
- Defined in:
- lib/async/scheduler.rb
Overview
Used to defer stopping the current task until later.
Instance Method Summary collapse
- #alive? ⇒ Boolean
-
#initialize(fiber, exception) ⇒ FiberInterrupt
constructor
Create a new stop later operation.
-
#transfer ⇒ Object
Transfer control to the operation - this will stop the task.
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
391 392 393 |
# File 'lib/async/scheduler.rb', line 391 def alive? @fiber.alive? end |
#transfer ⇒ Object
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 |