Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    30e8e23d
    Simplify llleap_test.cpp plugin by reading individual characters. · 30e8e23d
    Nat Goodspeed authored
    While we're accumulating the 'length:' prefix, the present socket-based logic
    reads 20 characters, then reads 'length' more, then discards any excess (in
    case the whole 'length:data' packet ends up being less than 20 characters).
    That's probably a bug: whatever characters follow that packet, however short
    it may be, are probably the 'length:' prefix of the next packet. We probably
    only get away with it because we probably never send packets that short.
    Earlier llleap_test.cpp plugin logic still read 20 characters, then, if there
    were any left after the present packet, cached them as the start of the next
    packet. This is probably more correct, but complicated. Easier just to read
    individual characters until we've seen 'length:', then try for exactly the
    specified length over however many reads that requires.
    30e8e23d
    History
    Simplify llleap_test.cpp plugin by reading individual characters.
    Nat Goodspeed authored
    While we're accumulating the 'length:' prefix, the present socket-based logic
    reads 20 characters, then reads 'length' more, then discards any excess (in
    case the whole 'length:data' packet ends up being less than 20 characters).
    That's probably a bug: whatever characters follow that packet, however short
    it may be, are probably the 'length:' prefix of the next packet. We probably
    only get away with it because we probably never send packets that short.
    Earlier llleap_test.cpp plugin logic still read 20 characters, then, if there
    were any left after the present packet, cached them as the start of the next
    packet. This is probably more correct, but complicated. Easier just to read
    individual characters until we've seen 'length:', then try for exactly the
    specified length over however many reads that requires.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.