Also check out node-binary: https://github.com/substack/node-binary
which has a similar interface but nicer internals and only needs to keep 2 buffers in memory at any given time instead of a linked list like bufferlist.
I realize this is somewhat oldish in Internet time, and might have been here before, but I just discovered it. I'm rewriting some clients for a binary protocol into Node.js and this found this to be very interesting.
SubStack is a rare gem: he is an excellent coder AND a great communicator. This article is good to read even if you aren't into node specifically, but want to learn about parsing streams in an async environment