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.
Instance Method Summary collapse
- 
  
    
      #signal(value = nil, task: Task.current)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Signal to a given task that it should resume operations. 
Methods inherited from Condition
#empty?, #initialize, #wait, #waiting?
Constructor Details
This class inherits a constructor from Async::Condition
Instance Method Details
#signal(value = nil, task: Task.current) ⇒ Object
Signal to a given task that it should resume operations.
| 13 14 15 16 17 18 19 | # File 'lib/async/notification.rb', line 13 def signal(value = nil, task: Task.current) return if @waiting.empty? Fiber.scheduler.push Signal.new(self.exchange, value) return nil end |