encodeVarint method
Encodes an integer to data using variable-length encoding technique (varint) format.
Implementation
List<int> encodeVarint(int value) {
final List<int> byts = <int>[];
int cur = value;
while (cur != 0) {
byts.add(cur & 127);
cur >>= 7;
}
int i = byts.length - 1;
if (i == 0) {
return byts;
}
final List<int> modifiedBytes = <int>[];
while (i >= 0) {
int val = byts[i];
if (i > 0) {
val = val | 0x80;
}
modifiedBytes.add(val);
i--;
}
return modifiedBytes;
}