This patch implements the run-length encoding used by the gdb protocol. As gdb reads data 1 byte at a time, it is able to handle RLE as it is putting data in the buffer. We read data in a chunk so I check for RLE on a packet when we have detected its boundary. Tested by running LLDB with gdbserver and also by manually inspecting the packet logs from both sides. Is it ok?
rle.patch (3.25 KB)