Package org.fusesource.hawtbuf
Class AbstractVarIntSupport
- java.lang.Object
-
- org.fusesource.hawtbuf.AbstractVarIntSupport
-
- Direct Known Subclasses:
BufferEditor
public abstract class AbstractVarIntSupport extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description AbstractVarIntSupport()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static int
computeVarIntSize(int value)
Compute the number of bytes that would be needed to encode a varint.static int
computeVarLongSize(long value)
Compute the number of bytes that would be needed to encode a varint.static int
computeVarSignedIntSize(int value)
Compute the number of bytes that would be needed to encode a signed varint.static int
computeVarSignedLongSize(long value)
Compute the number of bytes that would be needed to encode a signed varint.private static int
decodeZigZag32(int n)
private static long
decodeZigZag64(long n)
private static int
encodeZigZag32(int n)
private static long
encodeZigZag64(long n)
protected abstract byte
readByte()
int
readVarInt()
Read a raw Varint from the stream.long
readVarLong()
Read a raw Varint from the stream.int
readVarSignedInt()
Read ansint32
field value from the stream.long
readVarSignedLong()
Read ansint64
field value from the stream.protected abstract void
writeByte(int value)
void
writeVarInt(int value)
Encode and write a varint.void
writeVarLong(long value)
Encode and write a varint.void
writeVarSignedInt(int value)
void
writeVarSignedLong(long value)
-
-
-
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 ansint32
field value from the stream.- Throws:
java.io.IOException
-
readVarSignedLong
public long readVarSignedLong() throws java.io.IOException
Read ansint64
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.
-
-