class Tennis::Backend::RabbitQueue
Public Class Methods
new()
click to toggle source
# File lib/tennis/backend/rabbit/queue.rb, line 5 def initialize @mutex = Mutex.new @queue = [] @received = ConditionVariable.new end
Public Instance Methods
<<(x)
click to toggle source
# File lib/tennis/backend/rabbit/queue.rb, line 11 def <<(x) @mutex.synchronize do @queue << x @received.signal end end
pop(timeout = nil)
click to toggle source
# File lib/tennis/backend/rabbit/queue.rb, line 18 def pop(timeout = nil) @mutex.synchronize do @received.wait(@mutex, timeout) if @queue.empty? @queue.shift end end