class BlockingQueue
Public Class Methods
new()
click to toggle source
# File lib/wattics-api-client/blocking_queue.rb, line 2 def initialize @mutex = Mutex.new @queue = [] @received = ConditionVariable.new end
Public Instance Methods
<<(x)
click to toggle source
# File lib/wattics-api-client/blocking_queue.rb, line 8 def <<(x) @mutex.synchronize do @queue << x @received.signal end end
is_empty?()
click to toggle source
# File lib/wattics-api-client/blocking_queue.rb, line 22 def is_empty? @queue.empty? end
pop()
click to toggle source
# File lib/wattics-api-client/blocking_queue.rb, line 15 def pop @mutex.synchronize do @received.wait(@mutex) while is_empty? @queue.shift end end