Compressed data.
Pseudo-code for decompression:
ubyte[] uncompressed = uncompress(batch.payload); int index = 0; while(index < uncompressed.length) { int length = varuint.decode(uncompressed, &index); if(length < uncompressed.length - index) {} ubyte[] packet = uncompressed[0..length]; index += length; } }
Pseudo-code for compression:
ubyte[] payload; foreach(ubyte[] packet ; packets) { payload.concat(varuint.encode(packet.length)); payload.concat(packet); } Batch batch = new Batch(compress(payload, Zlib.DEFLATE));
See Implementation
Compressed data.
Pseudo-code for decompression:
Pseudo-code for compression: