in java/core/src/main/java/org/bondlib/VarUIntHelper.java [112:182]
static int encodeVarUInt64(long unsignedValue, OutputStream outputStream) throws IOException {
int length = 1;
// byte 0 (needs a special case to test for negative)
if (unsignedValue >= 0x80 || unsignedValue < 0) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 2;
// byte 1
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 3;
// byte 2
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 4;
// byte 3
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 5;
// byte 4
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 6;
// byte 5
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 7;
// byte 6
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 8;
// byte 7
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 9;
// byte 8
if (unsignedValue >= 0x80) {
outputStream.write((byte) (unsignedValue | 0x80));
unsignedValue >>>= 7;
length = 10;
}
}
}
}
}
}
}
}
}
// last byte
outputStream.write((byte) unsignedValue);
return length;
}