encodeBytesField function
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;
}