writeVarint method

void writeVarint(
  1. ByteData buffer,
  2. int offset,
  3. int value
)

Encode variable-length integer.

  • buffer: The buffer to write to.
  • offset: The offset to start writing at.
  • value: The value to encode.

Implementation

void writeVarint(ByteData buffer, int offset, int value) {
  var current = value;
  var currentOffset = offset;

  while (current > 0x7F) {
    buffer.setUint8(currentOffset, (current & 0x7F) | 0x80);
    current >>= 7;
    currentOffset++;
  }
  buffer.setUint8(currentOffset, current & 0x7F);
}