encodeVarInt method

List<int> encodeVarInt(
  1. int value
)

Implementation

List<int> encodeVarInt(int value) {
  if (value < 0x40) {
    return [value];
  } else if (value < 0x4000) {
    return [0x40 | ((value >> 8) & 0x3f), value & 0xff];
  } else if (value < 0x40000000) {
    return [
      0x80 | ((value >> 24) & 0x3f),
      (value >> 16) & 0xff,
      (value >> 8) & 0xff,
      value & 0xff,
    ];
  } else {
    throw ArgumentError("varint too large for this helper: $value");
  }
}