If frame_decode_all was passed bytes encoding more than one frame,
in such a way that the one of the frames was shorter than the preceeding
one, the function would stop decoding and that point and leave the
rest as unparsed.
This meant that there would be messages that wouldn't be dispatched until
further stuff was read from the wire.
The problem was due to a name clash between two variables. We add a
regression test for this.
If
frame_decode_all
was passed bytes encoding more than one frame, in such a way that the one of the frames was shorter than the preceeding one, the function would stop decoding and that point and leave the rest as unparsed.This meant that there would be messages that wouldn't be dispatched until further stuff was read from the wire.
The problem was due to a name clash between two variables. We add a regression test for this.