Package io.grpc.internal
Class AbstractReadableBuffer
java.lang.Object
io.grpc.internal.AbstractReadableBuffer
- All Implemented Interfaces:
ReadableBuffer
,Closeable
,AutoCloseable
- Direct Known Subclasses:
CompositeReadableBuffer
Abstract base class for
ReadableBuffer
implementations.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
array()
Gets the backing array for this buffer.int
Gets the offset in the backing array of the current read position.boolean
Indicates whether or notReadableBuffer.getByteBuffer()
operation is supported for this buffer.protected final void
checkReadable
(int length) void
close()
Closes this buffer and releases any resources.Gets aByteBuffer
that contains some bytes of the content next to be read, ornull
if this buffer has been exhausted.boolean
hasArray()
Indicates whether or not this buffer exposes a backing array.void
mark()
Marks the current position in this buffer.boolean
Indicates whether or notReadableBuffer.mark()
operation is supported for this buffer.final int
readInt()
Reads a 4-byte signed integer from this buffer using big-endian byte ordering.void
reset()
Repositions this buffer to the position at the timeReadableBuffer.mark()
was last called on this buffer.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.grpc.internal.ReadableBuffer
readableBytes, readBytes, readBytes, readBytes, readBytes, readUnsignedByte, skipBytes, touch
-
Constructor Details
-
AbstractReadableBuffer
public AbstractReadableBuffer()
-
-
Method Details
-
readInt
public final int readInt()Description copied from interface:ReadableBuffer
Reads a 4-byte signed integer from this buffer using big-endian byte ordering. Increments the read position by 4.- Specified by:
readInt
in interfaceReadableBuffer
-
hasArray
public boolean hasArray()Description copied from interface:ReadableBuffer
Indicates whether or not this buffer exposes a backing array.- Specified by:
hasArray
in interfaceReadableBuffer
-
array
public byte[] array()Description copied from interface:ReadableBuffer
Gets the backing array for this buffer. This is an optional method, so callers should first checkReadableBuffer.hasArray()
.- Specified by:
array
in interfaceReadableBuffer
-
arrayOffset
public int arrayOffset()Description copied from interface:ReadableBuffer
Gets the offset in the backing array of the current read position. This is an optional method, so callers should first checkReadableBuffer.hasArray()
- Specified by:
arrayOffset
in interfaceReadableBuffer
-
markSupported
public boolean markSupported()Description copied from interface:ReadableBuffer
Indicates whether or notReadableBuffer.mark()
operation is supported for this buffer.- Specified by:
markSupported
in interfaceReadableBuffer
-
mark
public void mark()Description copied from interface:ReadableBuffer
Marks the current position in this buffer. A subsequent call to theReadableBuffer.reset()
method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.- Specified by:
mark
in interfaceReadableBuffer
-
reset
public void reset()Description copied from interface:ReadableBuffer
Repositions this buffer to the position at the timeReadableBuffer.mark()
was last called on this buffer.- Specified by:
reset
in interfaceReadableBuffer
-
byteBufferSupported
public boolean byteBufferSupported()Description copied from interface:ReadableBuffer
Indicates whether or notReadableBuffer.getByteBuffer()
operation is supported for this buffer.- Specified by:
byteBufferSupported
in interfaceReadableBuffer
-
getByteBuffer
Description copied from interface:ReadableBuffer
Gets aByteBuffer
that contains some bytes of the content next to be read, ornull
if this buffer has been exhausted. The number of bytes contained in the returned buffer is implementation specific. The position of this buffer is unchanged after calling this method. The returned buffer's content should not be modified, but the position, limit, and mark may be changed. Operations for changing the position, limit, and mark of the returned buffer does not affect the position, limit, and mark of this buffer. Buffers returned by this method have independent position, limit and mark. This is an optional method, so callers should first checkReadableBuffer.byteBufferSupported()
.- Specified by:
getByteBuffer
in interfaceReadableBuffer
-
close
public void close()Description copied from interface:ReadableBuffer
Closes this buffer and releases any resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceReadableBuffer
-
checkReadable
protected final void checkReadable(int length)
-