That was actually the first thing I tried, but I don't think there's an efficient way to do it. We need a place store the encoded frame (either an [NIO `ByteBuffer`](http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html) or a [Netty `ByteBuf`](http://netty.io/4.0/api/io/netty/buffer/ByteBuf.html)). `ByteBuffer` *requires* that we allocate it with known size, and a Netty `ByteBuf` is most efficient if we do. In either case, it means we're allocating/deallocating a buffer that we don't strictly need.