The DataQueue is used only when processing a stream. It is used to buffer
data in between when the stream produces it and when it is ready to write to
the output buffer. It also ensures that we don't pull too much data from a
stream, for example if a stream is infinite
The DataQueue is used only when processing a stream. It is used to buffer data in between when the stream produces it and when it is ready to write to the output buffer. It also ensures that we don't pull too much data from a stream, for example if a stream is infinite