class Concurrent::RingBuffer

def poll

Returns:
  • (Object) - the first available value and removes it from the buffer. If buffer is empty returns nil
def poll
  result = @buffer[@first]
  @buffer[@first] = nil
  @first = (@first + 1) % @buffer.size
  @count -= 1
  result
end