encodeFrame static method
Build one DataChannel message: header + payload.
Implementation
static Uint8List encodeFrame(int frameType, int streamId, List<int> payload) {
if (!Wire.isFrameType(frameType)) {
throw StatusException(
Wire.codeInvalidArgument, 'unknown frame type $frameType');
}
if (frameType == Wire.frameData && payload.length > maxDataPayload) {
throw StatusException(
Wire.codeResourceExhausted, 'DATA payload exceeds 16 MiB');
}
final out = Uint8List(headerLen + payload.length);
out[0] = frameType;
putU32(out, 1, streamId);
putU32(out, 5, payload.length);
out.setRange(headerLen, out.length, payload);
return out;
}