Class: CI::Queue::Redis::Base::State

Inherits:
Object
  • Object
show all
Defined in:
lib/ci/queue/redis/base.rb

Instance Method Summary collapse

Constructor Details

#initializeState

Returns a new instance of State.



329
330
331
332
333
# File 'lib/ci/queue/redis/base.rb', line 329

def initialize
  @state = nil
  @mutex = Mutex.new
  @cond = ConditionVariable.new
end

Instance Method Details

#set(*state) ⇒ Object



335
336
337
338
339
340
# File 'lib/ci/queue/redis/base.rb', line 335

def set(*state)
  @state = state
  @mutex.synchronize do
    @cond.broadcast
  end
end

#wait(timeout) ⇒ Object



342
343
344
345
346
347
# File 'lib/ci/queue/redis/base.rb', line 342

def wait(timeout)
  @mutex.synchronize do
    @cond.wait(@mutex, timeout)
  end
  @state
end