decodePayload function
Implementation
Payload decodePayload(
RSocketByteBuffer buffer, bool metadataPresent, int frameLength) {
var payload = Payload();
var dataLength = frameLength - 6;
if (metadataPresent) {
var metadataLength = buffer.readI24();
if (metadataLength != null) {
dataLength = dataLength - 3 - metadataLength;
if (metadataLength > 0) {
payload.metadata = buffer.readUint8List(metadataLength);
}
}
}
if (dataLength > 0) {
payload.data = buffer.readUint8List(dataLength);
}
return payload;
}