public interface ReadChannel extends ReadableByteChannel, Closeable, Restorable<ReadChannel>
Implementations of this class may buffer data internally to reduce remote calls. This
interface implements Restorable to allow saving the reader's state to continue reading
afterwards.
| Modifier and Type | Method and Description |
|---|---|
RestorableState<ReadChannel> |
capture()
Captures the read channel state so that it can be saved and restored afterwards.
|
void |
close()
Overridden to remove IOException.
|
default long |
limit()
The currently defined limit for this channel.
|
default ReadChannel |
limit(long limit)
Limit the maximum number of bytes to be read from the objects content, counting from the
beginning of the object, which will be available to read from this channel.
|
void |
seek(long position)
Set the offset to read from.
|
void |
setChunkSize(int chunkSize)
Sets the minimum size that will be read by a single RPC.
|
readvoid close()
close in interface AutoCloseableclose in interface Channelclose in interface CloseableChannel.close()void seek(long position) throws IOException
IOExceptionvoid setChunkSize(int chunkSize)
RestorableState<ReadChannel> capture()
capture in interface Restorable<ReadChannel>RestorableState object that contains the read channel state and can restore
it afterwards.default ReadChannel limit(long limit)
If used in conjunction with seek(long) the total number of returned bytes from this
channel will be reduced by the number of bytes specified to seek.
The value provided as limit will define a left-closed,
right-open interval along with either 0 or any value provided to seek(long), i.e. [seek(long), limit(long)).
[A, B, C, D, E, F, G, H, I, J], 10 bytes total.
limit(5) would produce [A, B, C, D, E]
seek(8) would produce [I, J]
seek(2) limit(5) would produce [C, D, E]
seek(3) limit(3) would produce []
NOTE:Implementers are not required to return a new instance from this method, however they are allowed to. Users of this method should always use the instance returned from this method.
Default Implementation:By default, this method will simply return this.
limit - the maximum number of bytes to limit this channel toUnsupportedOperationException - If the this instances does not support limitingdefault long limit()
Long.MAX_VALUEUnsupportedOperationException - If the this instances does not support limitingCopyright © 2023 Google LLC. All rights reserved.