encodeSint64Field function
Encodes a sint64 field: tag(fieldNumber, VARINT) + varint(zigzag64(value)).
Returns buffer unchanged if value is 0 (proto3 default).
Implementation
List<int> encodeSint64Field(List<int> buffer, int fieldNumber, int value) {
if (value == 0) return buffer;
encodeTag(buffer, fieldNumber, _wireTypeVarint);
encodeVarint(buffer, encodeZigZag64(value));
return buffer;
}