Why does the buffer pull 6 elements before the downstream pulls the 1st one, if the capacity is 4? Shouldn't the buffer at most pull and hold 4 elements? I could understand (capacity)+1. But capacity+2? There's one in the chamber ready to fire, 4 in the buffer queue, and 1 waiting to enter the buffer queue? Seems like 3 buffers not 1
Normally this would be trivial but I'm considering a sliding 0-capacity buffer as a way to get the "latest" element in a stream and understanding this would matter a lot