fromBytes static method
A factory constructor to deserialize a frame from bytes.
Implementation
static AckFrame fromBytes(ByteData view, int offset) {
int currentOffset = offset;
// Skip type, already handled by Frame.fromBytes
currentOffset += 1;
final largestAcked = view.getUint32(currentOffset, Endian.big);
currentOffset += 4;
final ackDelay = view.getUint16(currentOffset, Endian.big);
currentOffset += 2;
final ackRangeCount = view.getUint8(currentOffset);
currentOffset += 1;
final firstAckRangeLength = view.getUint32(currentOffset, Endian.big);
currentOffset += 4;
final ranges = <AckRange>[];
for (int i = 0; i < ackRangeCount; i++) {
final gap = view.getUint8(currentOffset);
currentOffset += 1;
final length = view.getUint32(currentOffset, Endian.big);
currentOffset += 4;
ranges.add(AckRange(gap: gap, ackRangeLength: length));
}
return AckFrame(
largestAcked: largestAcked,
ackDelay: ackDelay,
firstAckRangeLength: firstAckRangeLength,
ackRanges: ranges,
);
}