fromBytes static method
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');
}
}