encode method
Serialize sub-packet to bytes
Implementation
@override
encode() {
final List<int> header;
final bodyLen = data.length + 1;
if (isLong) {
header = [0xff, ...bodyLen.pack32()];
} else {
if (bodyLen < 192) {
header = [bodyLen];
} else if (bodyLen <= 8383) {
header = [(((bodyLen - 192) >> 8) & 0xff) + 192, bodyLen - 192];
} else {
header = [0xff, ...bodyLen.pack32()];
}
}
return Uint8List.fromList([
...header,
critical ? type.value | 0x80 : type.value,
...data,
]);
}