grpcDecodeFrames function
Decode all gRPC frames from buffer.
Returns a list of maps, each containing:
messageBytes(List<int>): the decoded message payload.compressed(bool): whether the compression flag was set.
Implementation
List<Map<String, Object?>> grpcDecodeFrames(List<int> buffer) {
var frames = <Map<String, Object?>>[];
var offset = 0;
while (offset < buffer.length) {
var decoded = grpcDecodeFrame(buffer, offset);
var bytesRead = decoded['bytesRead'] as int;
frames.add({
'messageBytes': decoded['messageBytes'],
'compressed': decoded['compressed'],
});
offset += bytesRead;
}
return frames;
}