We need to keep the remaining buffer, and we need to try to parse it before we read the next. I first tried keeping it in the object, but its lifetime is that of the *socket*, which we actually reopen for every command. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>