frame function
Implementation
List<int> frame(List<int> rawPayload, [Codec? codec]) {
final compressedPayload =
codec == null ? rawPayload : codec.compress(rawPayload);
final payloadLength = compressedPayload.length;
final bytes = Uint8List(payloadLength + 5);
final header = bytes.buffer.asByteData(0, 5);
header.setUint8(0, codec == null ? 0 : 1);
header.setUint32(1, payloadLength);
bytes.setRange(5, bytes.length, compressedPayload);
return bytes;
}