@ska @lanodan i did in fact have that precise thought repeatedly and will say that i find it more difficult than i expected to decouple a basic version from the mental model i have for the atomic one. the particular reason blocking in advance is useful would be that you end up being able to extend the locking semantics provided by the buffer across an arbitrarily wide region of memory which is not managed by the OS and therefore has the potential to enable encapsulated mechanisms to extend the semantics, if not nonlocally, at least to meaningfully use the locking guarantees of the ring buffer of which there are a surprising number of distinct valid modes (obviously i cannot support all of them)
@ska @lanodan i distinctly recall "backpressure" being mentioned repeatedly in the docs for node.js and libuv was the previous basis for rust i/o a decade ago so it's always bizarre that people come to rust because it's c++ with more self-righteousness and c with more racists. luckily i am not an influencer i am a scientist. i can survive for years at this rate before i begin my own person templeOS