Class: Async::Notification
- Defined in:
- lib/async/notification.rb
Overview
A synchronization primitive, which allows fibers to wait until a notification is received. Does not block the task which signals the notification. Waiting tasks are resumed on next iteration of the reactor.
Direct Known Subclasses
Defined Under Namespace
Classes: Signal
Instance Method Summary collapse
-
#signal(value = nil, task: Task.current) ⇒ void
Signal to a given task that it should resume operations.
Methods inherited from Condition
Constructor Details
This class inherits a constructor from Async::Condition
Instance Method Details
#signal(value = nil, task: Task.current) ⇒ void
This method returns an undefined value.
Signal to a given task that it should resume operations.
30 31 32 33 34 35 36 37 38 |
# File 'lib/async/notification.rb', line 30 def signal(value = nil, task: Task.current) return if @waiting.empty? task.reactor << Signal.new(@waiting, value) @waiting = [] return nil end |