class DroppingSizedQueue

Like SizedQueue, but drops instead of blocking. Pass one of these in as :request_queue if you would prefer loss to slowing down in cases of back-pressure.

Public Instance Methods

push(obj) click to toggle source

Returns true/false depending on whether the queue is full or not

# File lib/lpxc.rb, line 36
def push(obj)
  @mutex.synchronize do
    return false unless @que.length < @max

    @que.push obj
    begin
      t = @waiting.shift
      t.wakeup if t
    rescue ThreadError
      retry
    end
    return true
  end
end