toBytes method
Serialize the frame into a byte list.
Implementation
@override
Uint8List toBytes() {
final buffer = Uint8List(length);
final view = ByteData.view(buffer.buffer);
int offset = 0;
view.setUint8(offset, FrameType.ack.index);
offset += 1;
view.setUint32(offset, largestAcked, Endian.big);
offset += 4;
view.setUint16(offset, ackDelay, Endian.big);
offset += 2;
view.setUint8(offset, ackRanges.length); // Count of *additional* ranges
offset += 1;
view.setUint32(offset, firstAckRangeLength, Endian.big);
offset += 4;
for (final range in ackRanges) {
view.setUint8(offset, range.gap);
offset += 1;
view.setUint32(offset, range.ackRangeLength, Endian.big);
offset += 4;
}
return buffer;
}