fromBytes static method

Frame fromBytes(
  1. ByteData view,
  2. int offset
)

A factory constructor to deserialize a frame from bytes.

Implementation

static Frame fromBytes(ByteData view, int offset) {
  final type = view.getUint8(offset);
  switch (FrameType.values[type]) {
    case FrameType.padding:
      return PaddingFrame.fromBytes(view, offset);
    case FrameType.ping:
      return PingFrame.fromBytes(view, offset);
    case FrameType.ack:
      return AckFrame.fromBytes(view, offset);
    case FrameType.stream:
      return StreamFrame.fromBytes(view, offset);
    case FrameType.windowUpdate:
      return WindowUpdateFrame.fromBytes(view, offset);
    case FrameType.maxData: // Handle new MaxDataFrame
      return MaxDataFrame.fromBytes(view, offset);
    case FrameType.resetStream:
      return ResetStreamFrame.fromBytes(view, offset);
    case FrameType.maxStreams:
      return MaxStreamsFrame.fromBytes(view, offset);
    case FrameType.mtuProbe:
      return MtuProbeFrame.fromBytes(view, offset);
    case FrameType.pathChallenge:
      return PathChallengeFrame.fromBytes(view, offset);
    case FrameType.pathResponse:
      return PathResponseFrame.fromBytes(view, offset);
    default:
      throw ArgumentError('Unknown frame type: $type');
  }
}