WritableAmount
if (ringBuffer.WritableAmount() < toWrite &&
size_t WritableAmount() const;
size_t available = device->buffer->WritableAmount();
} while (device->buffer->WritableAmount() < space);