Class AbstractVarIntSupport

java.lang.Object
org.fusesource.hawtbuf.AbstractVarIntSupport
Direct Known Subclasses:
BufferEditor

public abstract class AbstractVarIntSupport extends Object

  • Constructor Details

    • AbstractVarIntSupport

      public AbstractVarIntSupport()
  • Method Details

    • readByte

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

      protected abstract void writeByte(int value) throws IOException
      Throws:
      IOException
    • readVarInt

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

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

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

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

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

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

      public void writeVarSignedInt(int value) throws IOException
      Throws:
      IOException
    • writeVarSignedLong

      public void writeVarSignedLong(long value) throws IOException
      Throws:
      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.