writeToCodedBufferWriter method

  1. @override
void writeToCodedBufferWriter(
  1. CodedBufferWriter output
)
inherited

Same as writeToBuffer, but serializes to the given CodedBufferWriter.

Implementation

@override
void writeToCodedBufferWriter(CodedBufferWriter output) {
  final extensions = _fieldSet._ensureExtensions();

  for (final ext in extensions._values.entries) {
    final typeId = ext.key;
    final message = ext.value as GeneratedMessage;

    output._writeTag(_messageSetItemsTag, WIRETYPE_START_GROUP);
    output._writeTag(_messageSetItemTypeIdTag, WIRETYPE_VARINT);
    output._writeVarint32(typeId);
    output._writeTag(_messageSetItemMessageTag, WIRETYPE_LENGTH_DELIMITED);
    final mark = output._startLengthDelimited();
    message.writeToCodedBufferWriter(output);
    output._endLengthDelimited(mark);
    output._writeTag(_messageSetItemsTag, WIRETYPE_END_GROUP);
  }

  final unknownFields = _fieldSet._unknownFields;
  if (unknownFields != null) {
    unknownFields.writeToCodedBufferWriter(output);
  }
}