Currently we rely on AsyncStream to bridge the "pull" based AsyncSequence consumer and "push" based DispatchIO (and soon epoll) producer. However, this could lead to the .unbounded buffer to grow infinitely if the consumer consumes slower than production. We should investigate an alternative