Currently only read methods can block to wait for more data. But although implementing similar blocking for writing (appending) is more difficult, it should be doable. And when implementing queuing with multiple producers, ability to block (for limited amount of time) is a useful feature.