Method: Polyphony::Queue#delete

Defined in:
ext/polyphony/queue.c

#delete(value) ⇒ Queue

Removes the given value from the queue.

Returns:



247
248
249
250
251
252
253
254
255
256
257
# File 'ext/polyphony/queue.c', line 247

VALUE Queue_delete(VALUE self, VALUE value) {
  Queue_t *queue;
  GetQueue(self, queue);

  ring_buffer_delete(&queue->values, value);

  if (queue->capacity && (queue->capacity > queue->values.count))
    queue_schedule_first_blocked_fiber(&queue->push_queue);

  return self;
}