encodeBytesField function

List<int> encodeBytesField(
  1. List<int> buffer,
  2. int fieldNumber,
  3. List<int> value
)

Encode a bytes field (wire type 2): tag + varint(len) + raw_bytes.

Proto3 rule: does not emit anything if value is empty.

Returns buffer with the field bytes appended.

Implementation

List<int> encodeBytesField(List<int> buffer, int fieldNumber, List<int> value) {
  if (value.isEmpty) return buffer;
  encodeTag(buffer, fieldNumber, _wireTypeLEN);
  encodeBytes(buffer, value);
  return buffer;
}