I talked to Alex, and he already implemented [`ByteBufferQueue`](https://github.com/metamx/starfire/blob/master/core/src/main/scala/com/metamx/starfire/binary/ByteBufferQueue.scala?source=c) to achieve a similar purpose. Maybe we can rewrite it in Java, and extend it to support arbitrary objects? His is already battle-tested and used in production.