Method: Polyphony::Queue#shift_all

Defined in:
ext/polyphony/queue.c

#shift_allArray

Returns all values currently in the queue, clearing the queue.

Returns:

  • (Array)

    all values



335
336
337
338
339
340
341
342
343
344
# File 'ext/polyphony/queue.c', line 335

VALUE Queue_shift_all(VALUE self) {
  Queue_t *queue;
  VALUE result;

  GetQueue(self, queue);

  result = ring_buffer_shift_all(&queue->values);
  if (queue->capacity) queue_schedule_blocked_fibers_to_capacity(queue);
  return result;
}