readMsg<T extends GeneratedMessage> method

Future<T> readMsg<T extends GeneratedMessage>(
  1. T message
)

Reads a protocol buffer message from the stream.

Implementation

Future<T> readMsg<T extends GeneratedMessage>(T message) async {
  // Read the message length
  final length = await _readVarint();
  if (length > _maxSize) {
    throw Exception('message too large');
  }

  // Read the message data
  final data = await _readExact(length);

  // Parse the message
  message.mergeFromBuffer(data);
  return message;
}