Fix ZStream.buffer(1) so it only buffers exactly 1 element instead of 2.
Fixes #9810
ZStream.buffer(1) was incorrectly buffering 2 elements instead of 1, due to the asynchronous nature of the underlying queue implementation. This occurred because the queue allowed concurrent offer and take operations, leading to a race condition.
buffer(1): use a synchronous handoff to ensure only one element is buffered at any timebuffer(n) where n > 1: use queue capacity of n - 1 to account for the in-flight element/claim #9810
Erichhhhhcat
@Erichhhhhcat
ZIO
@ZIO