public void writeRawVarint32(int value) throws IOException
    {
        while (true)
        {
            if ((value & ~0x7F) == 0)
            {
                writeRawByte(value);
                return;
            }
            else
            {
                writeRawByte((value & 0x7F) | 0x80);
                value >>>= 7;
            }
        }
    }
Encode and write a varint. {@code value} is treated as unsigned, so it won't be sign-extended if negative.
protostuff-core/src/test/java/io/protostuff/CodedOutput.java