Currently, Buffers and WriteBuffers are inflexible in that they always expect a length buffer followed by data (Buffers), or a sequence of len/data pairs (WriteBuffers).
This is bad if we for example want to read a sequence like the one below (for connection establishment in TCP):
- Have only 1 buffer, for reading and writing
- Allow to define the sequence by adding buffers dynamically, e.g. in the above case, we'd add a 4 and a 2-length buffer and read data into them. If the cookie and version don't match, throw an exception, else dynamically add a length buffer (possibly doing a clear() which removes the first 2 buffers), read data into it, then add a new buffer sized to the read length and finally read data into it.