Function BlockingQueue.tryPush

Attempts to append one value without waiting for free capacity.

BlockingQueuePushResult tryPush(U)(
  auto ref U value
)
if (is(Unqual!U == T) && __traits(compiles, _buffer.tryPushBack(forward!value)));

Parameters

NameDescription
value value to copy into the queue when a slot is available

Returns

pushed when the value was inserted, full when the open queue has no spare slot, or closed after producer admission has been closed.

Failure

full and closed leave the queued sequence unchanged.

Allocation

Does not resize or reacquire queue backing storage.

Thread Safety

May be called concurrently by multiple producers and consumers.