public final class CodedInputByteBufferNano extends Object
readTag() and
readInt32()) and methods that read low-level values (e.g.
readRawVarint32() and readRawBytes(int)). If you are reading
encoded protocol messages, you should use the former methods, but if you are
reading some other format of your own design, use the latter.| Modifier and Type | Method and Description |
|---|---|
void |
checkLastTagWas(int value)
Verifies that the last call to readTag() returned the given tag value.
|
static int |
decodeZigZag32(int n)
Decode a ZigZag-encoded 32-bit value.
|
static long |
decodeZigZag64(long n)
Decode a ZigZag-encoded 64-bit value.
|
int |
getBytesUntilLimit()
Returns the number of bytes to be read before the current limit.
|
byte[] |
getData(int offset,
int length)
Retrieves a subset of data in the buffer.
|
int |
getPosition()
Get current position in buffer relative to beginning offset.
|
boolean |
isAtEnd()
Returns true if the stream has reached the end of the input.
|
static CodedInputByteBufferNano |
newInstance(byte[] buf)
Create a new CodedInputStream wrapping the given byte array.
|
static CodedInputByteBufferNano |
newInstance(byte[] buf,
int off,
int len)
Create a new CodedInputStream wrapping the given byte array slice.
|
void |
popLimit(int oldLimit)
Discards the current limit, returning to the previous limit.
|
int |
pushLimit(int byteLimit)
Sets
currentLimit to (current position) + byteLimit. |
boolean |
readBool()
Read a
bool field value from the stream. |
byte[] |
readBytes()
Read a
bytes field value from the stream. |
double |
readDouble()
Read a
double field value from the stream. |
int |
readEnum()
Read an enum field value from the stream.
|
int |
readFixed32()
Read a
fixed32 field value from the stream. |
long |
readFixed64()
Read a
fixed64 field value from the stream. |
float |
readFloat()
Read a
float field value from the stream. |
void |
readGroup(MessageNano msg,
int fieldNumber)
Read a
group field value from the stream. |
int |
readInt32()
Read an
int32 field value from the stream. |
long |
readInt64()
Read an
int64 field value from the stream. |
void |
readMessage(MessageNano msg) |
byte |
readRawByte()
Read one byte from the input.
|
byte[] |
readRawBytes(int size)
Read a fixed size of bytes from the input.
|
int |
readRawLittleEndian32()
Read a 32-bit little-endian integer from the stream.
|
long |
readRawLittleEndian64()
Read a 64-bit little-endian integer from the stream.
|
int |
readRawVarint32()
Read a raw Varint from the stream.
|
long |
readRawVarint64()
Read a raw Varint from the stream.
|
int |
readSFixed32()
Read an
sfixed32 field value from the stream. |
long |
readSFixed64()
Read an
sfixed64 field value from the stream. |
int |
readSInt32()
Read an
sint32 field value from the stream. |
long |
readSInt64()
Read an
sint64 field value from the stream. |
String |
readString()
Read a
string field value from the stream. |
int |
readTag()
Attempt to read a field tag, returning zero if we have reached EOF.
|
int |
readUInt32()
Read a
uint32 field value from the stream. |
long |
readUInt64()
Read a
uint64 field value from the stream. |
void |
resetSizeCounter()
Resets the current size counter to zero (see
setSizeLimit(int)). |
void |
rewindToPosition(int position)
Rewind to previous position.
|
int |
setRecursionLimit(int limit)
Set the maximum message recursion depth.
|
int |
setSizeLimit(int limit)
Set the maximum message size.
|
boolean |
skipField(int tag)
Reads and discards a single field, given its tag value.
|
void |
skipMessage()
Reads and discards an entire message.
|
void |
skipRawBytes(int size)
Reads and discards
size bytes. |
public static CodedInputByteBufferNano newInstance(byte[] buf)
public static CodedInputByteBufferNano newInstance(byte[] buf, int off, int len)
public int readTag()
throws IOException
IOExceptionpublic void checkLastTagWas(int value)
throws InvalidProtocolBufferNanoException
InvalidProtocolBufferNanoException - value does not match the
last tag.public boolean skipField(int tag)
throws IOException
false if the tag is an endgroup tag, in which case
nothing is skipped. Otherwise, returns true.IOExceptionpublic void skipMessage()
throws IOException
IOExceptionpublic double readDouble()
throws IOException
double field value from the stream.IOExceptionpublic float readFloat()
throws IOException
float field value from the stream.IOExceptionpublic long readUInt64()
throws IOException
uint64 field value from the stream.IOExceptionpublic long readInt64()
throws IOException
int64 field value from the stream.IOExceptionpublic int readInt32()
throws IOException
int32 field value from the stream.IOExceptionpublic long readFixed64()
throws IOException
fixed64 field value from the stream.IOExceptionpublic int readFixed32()
throws IOException
fixed32 field value from the stream.IOExceptionpublic boolean readBool()
throws IOException
bool field value from the stream.IOExceptionpublic String readString() throws IOException
string field value from the stream.IOExceptionpublic void readGroup(MessageNano msg, int fieldNumber) throws IOException
group field value from the stream.IOExceptionpublic void readMessage(MessageNano msg) throws IOException
IOExceptionpublic byte[] readBytes()
throws IOException
bytes field value from the stream.IOExceptionpublic int readUInt32()
throws IOException
uint32 field value from the stream.IOExceptionpublic int readEnum()
throws IOException
IOExceptionpublic int readSFixed32()
throws IOException
sfixed32 field value from the stream.IOExceptionpublic long readSFixed64()
throws IOException
sfixed64 field value from the stream.IOExceptionpublic int readSInt32()
throws IOException
sint32 field value from the stream.IOExceptionpublic long readSInt64()
throws IOException
sint64 field value from the stream.IOExceptionpublic int readRawVarint32()
throws IOException
IOExceptionpublic long readRawVarint64()
throws IOException
IOExceptionpublic int readRawLittleEndian32()
throws IOException
IOExceptionpublic long readRawLittleEndian64()
throws IOException
IOExceptionpublic static int decodeZigZag32(int n)
n - An unsigned 32-bit integer, stored in a signed int because
Java has no explicit unsigned support.public static long decodeZigZag64(long n)
n - An unsigned 64-bit integer, stored in a signed int because
Java has no explicit unsigned support.public int setRecursionLimit(int limit)
CodedInputStream limits
how deeply messages may be nested. The default limit is 64.public int setSizeLimit(int limit)
CodedInputStream limits how large a message may be.
The default limit is 64MB. You should set this limit as small
as you can without harming your app's functionality. Note that
size limits only apply when reading from an InputStream, not
when constructed around a raw byte array.
If you want to read several messages from a single CodedInputStream, you
could call resetSizeCounter() after each one to avoid hitting the
size limit.
public void resetSizeCounter()
setSizeLimit(int)).public int pushLimit(int byteLimit)
throws InvalidProtocolBufferNanoException
currentLimit to (current position) + byteLimit. This
is called when descending into a length-delimited embedded message.InvalidProtocolBufferNanoExceptionpublic void popLimit(int oldLimit)
oldLimit - The old limit, as returned by pushLimit.public int getBytesUntilLimit()
public boolean isAtEnd()
pushLimit(int).public int getPosition()
public byte[] getData(int offset,
int length)
offset - the position (relative to the buffer start position) to start at.length - the number of bytes to retrieve.public void rewindToPosition(int position)
public byte readRawByte()
throws IOException
InvalidProtocolBufferNanoException - The end of the stream or the current
limit was reached.IOExceptionpublic byte[] readRawBytes(int size)
throws IOException
InvalidProtocolBufferNanoException - The end of the stream or the current
limit was reached.IOExceptionpublic void skipRawBytes(int size)
throws IOException
size bytes.InvalidProtocolBufferNanoException - The end of the stream or the current
limit was reached.IOExceptionCopyright © 2008–2016 Google. All rights reserved.