encodePayloadFrame static method
Implementation
static Uint8List encodePayloadFrame(
int streamId, bool completed, Payload? payload) {
var frameBuffer = RSocketByteBuffer();
frameBuffer.writeI24(0); // frame length
frameBuffer.writeI32(streamId); //stream id
var flags = 0;
if (completed) {
flags = flags | 0x40; //complete
} else {
flags = flags | 0x20; //next
}
if (payload != null) {
writeTFrameTypeAndFlags(
frameBuffer, frame_types.PAYLOAD, payload.metadata, flags);
writePayload(frameBuffer, payload);
} else {
writeTFrameTypeAndFlags(frameBuffer, frame_types.PAYLOAD, null, flags);
}
refillFrameLength(frameBuffer);
return frameBuffer.toUint8Array();
}