Method: Async::LimitedQueue#enqueue

Defined in:
lib/async/queue.rb

#enqueue(*items) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/async/queue.rb', line 89

def enqueue *items
  while !items.empty?
    while limited?
      @full.wait
    end
    
    available = @limit - @items.size
    @items.concat(items.shift(available))
    
    self.signal unless self.empty?
  end
end