encodeFixed32Field function

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

Encodes a fixed32 field (wire type 5) into buffer.

Proto3 rule: if value is 0, nothing is written (default value is omitted). The unsigned 32-bit value is serialized as a field tag followed by 4 little-endian bytes.

Returns the same buffer list, possibly with bytes appended.

Implementation

List<int> encodeFixed32Field(List<int> buffer, int fieldNumber, int value) {
  if (value == 0) return buffer;
  encodeTag(buffer, fieldNumber, 5);
  encodeFixed32(buffer, value);
  return buffer;
}