Class AbstractVarIntSupport

  • Direct Known Subclasses:
    BufferEditor

    public abstract class AbstractVarIntSupport
    extends java.lang.Object

    • Constructor Detail

      • AbstractVarIntSupport

        public AbstractVarIntSupport()
    • Method Detail

      • readByte

        protected abstract byte readByte()
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • writeByte

        protected abstract void writeByte​(int value)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • readVarInt

        public int readVarInt()
                       throws java.io.IOException
        Read a raw Varint from the stream. If larger than 32 bits, discard the upper bits.
        Throws:
        java.io.IOException
      • readVarLong

        public long readVarLong()
                         throws java.io.IOException
        Read a raw Varint from the stream.
        Throws:
        java.io.IOException
      • readVarSignedInt

        public int readVarSignedInt()
                             throws java.io.IOException
        Read an sint32 field value from the stream.
        Throws:
        java.io.IOException
      • readVarSignedLong

        public long readVarSignedLong()
                               throws java.io.IOException
        Read an sint64 field value from the stream.
        Throws:
        java.io.IOException
      • writeVarInt

        public void writeVarInt​(int value)
                         throws java.io.IOException
        Encode and write a varint. value is treated as unsigned, so it won't be sign-extended if negative.
        Throws:
        java.io.IOException
      • writeVarLong

        public void writeVarLong​(long value)
                          throws java.io.IOException
        Encode and write a varint.
        Throws:
        java.io.IOException
      • writeVarSignedInt

        public void writeVarSignedInt​(int value)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • writeVarSignedLong

        public void writeVarSignedLong​(long value)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeZigZag32

        private static int decodeZigZag32​(int n)
      • decodeZigZag64

        private static long decodeZigZag64​(long n)
      • encodeZigZag32

        private static int encodeZigZag32​(int n)
      • encodeZigZag64

        private static long encodeZigZag64​(long n)
      • computeVarIntSize

        public static int computeVarIntSize​(int value)
        Compute the number of bytes that would be needed to encode a varint. value is treated as unsigned, so it won't be sign-extended if negative.
      • computeVarLongSize

        public static int computeVarLongSize​(long value)
        Compute the number of bytes that would be needed to encode a varint.
      • computeVarSignedIntSize

        public static int computeVarSignedIntSize​(int value)
        Compute the number of bytes that would be needed to encode a signed varint.
      • computeVarSignedLongSize

        public static int computeVarSignedLongSize​(long value)
        Compute the number of bytes that would be needed to encode a signed varint.