public static int writeVLong()

in hollow/src/main/java/com/netflix/hollow/core/memory/encoding/VarInt.java [106:120]


    public static int writeVLong(byte data[], int pos, long value) {
        if(value < 0)                                data[pos++] = ((byte)0x81);
        if(value > 0xFFFFFFFFFFFFFFL || value < 0)   data[pos++] = ((byte)(0x80 | ((value >>> 56) & 0x7FL)));
        if(value > 0x1FFFFFFFFFFFFL || value < 0)    data[pos++] = ((byte)(0x80 | ((value >>> 49) & 0x7FL)));
        if(value > 0x3FFFFFFFFFFL || value < 0)      data[pos++] = ((byte)(0x80 | ((value >>> 42) & 0x7FL)));
        if(value > 0x7FFFFFFFFL || value < 0)        data[pos++] = ((byte)(0x80 | ((value >>> 35) & 0x7FL)));
        if(value > 0xFFFFFFFL || value < 0)          data[pos++] = ((byte)(0x80 | ((value >>> 28) & 0x7FL)));
        if(value > 0x1FFFFFL || value < 0)           data[pos++] = ((byte)(0x80 | ((value >>> 21) & 0x7FL)));
        if(value > 0x3FFFL || value < 0)             data[pos++] = ((byte)(0x80 | ((value >>> 14) & 0x7FL)));
        if(value > 0x7FL || value < 0)               data[pos++] = ((byte)(0x80 | ((value >>>  7) & 0x7FL)));

        data[pos++] = ((byte)(value & 0x7FL));

        return pos;
    }