Thread-safe single-producer, single-consumer block-based double-ended byte queue.
pushes sizeBytes bytes at the front of the deque
pops up to maxSize bytes from the back of the deque. Returns the number of bytes popped, which may be 0.
returns the number of bytes currently in the deque
returns true if the deque is empty
true
clears all data in the deque but does not deallocate internal storage
deallocates internal storage to precisely fit current size
Performs a non-destructive copy to output , up to maxSize bytes. Does not pop any data. Returns number of bytes written.