> I use Proxy's bidirectionality in my b-tree library [1]: Blocks to be
> written to disk are passed downstream, while the disk offset at which
> the data was written is passed back upstream. This makes for a very
> clean separation between the disk backend and the book-keeping involved
> in building the data structure.
Does upstream need the offset in order to send the next block downstream?
IF not couldn't it be a unidirectional pipe?