Method: God::DriverEventQueue#pop

Defined in:
lib/god/driver.rb

#popObject

Wait until the queue has something due, pop it off the queue, and return it.

Returns the popped event.



116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lib/god/driver.rb', line 116

def pop
  @monitor.synchronize do
    if @events.empty?
      raise ThreadError, "queue empty" if @shutdown
      @resource.wait
    else
      delay = @events.first.at - Time.now
      @resource.wait(delay) if delay > 0
    end

    @events.shift
  end
end