fromBytes static method

NewConnectionIdFrame fromBytes(
  1. ByteData view,
  2. int offset
)
override

A factory constructor to deserialize a frame from bytes.

Implementation

static NewConnectionIdFrame fromBytes(ByteData view, int offset) {
  int currentOffset = offset + 1; // Skip type

  final sequenceNumber = view.getUint64(currentOffset, Endian.big);
  currentOffset += 8;

  final retirePriorTo = view.getUint64(currentOffset, Endian.big);
  currentOffset += 8;

  final cidLength = view.getUint8(currentOffset);
  currentOffset += 1;

  final cidBytes = Uint8List.view(
    view.buffer,
    view.offsetInBytes + currentOffset,
    cidLength
  );
  final connectionId = ConnectionId.fromUint8List(cidBytes);
  currentOffset += cidLength;

  final resetTokenBytes = Uint8List.view(
    view.buffer,
    view.offsetInBytes + currentOffset,
    StatelessResetToken.length
  );
  final resetToken = StatelessResetToken(resetTokenBytes);

  return NewConnectionIdFrame(
    sequenceNumber: sequenceNumber,
    retirePriorTo: retirePriorTo,
    connectionId: connectionId,
    resetToken: resetToken,
  );
}