Class CloseableIteratorBufferAsInputStream
- java.lang.Object
-
- java.io.InputStream
-
- io.servicetalk.concurrent.internal.AbstractCloseableIteratorAsInputStream<Buffer>
-
- io.servicetalk.concurrent.api.internal.CloseableIteratorBufferAsInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class CloseableIteratorBufferAsInputStream extends AbstractCloseableIteratorAsInputStream<Buffer>
-
-
Constructor Summary
Constructors Constructor Description CloseableIteratorBufferAsInputStream(CloseableIterator<Buffer> iterator)Create a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected booleanhasLeftOver()Determine if there are left over bytes buffered.protected booleanisClosed()Determine ifAbstractCloseableIteratorAsInputStream.close()has been called.protected voidleftOverCheckReset()Check if the left over buffer needs to be reset.protected intleftOverReadableBytes()Get the number of readable bytes in the left over buffer.protected voidleftOverReadBytes(byte[] dst, int offset, int length)Read bytes from the left over buffer intob.protected byteleftOverReadSingleByte()Read a single byte from the left over buffer.protected voidleftOverReset()Reset the left over buffer.protected voidnextLeftOver(CloseableIterator<Buffer> iterator)Read the next element from theIterator.-
Methods inherited from class io.servicetalk.concurrent.internal.AbstractCloseableIteratorAsInputStream
available, markSupported, read, read
-
-
-
-
Constructor Detail
-
CloseableIteratorBufferAsInputStream
public CloseableIteratorBufferAsInputStream(CloseableIterator<Buffer> iterator)
Create a new instance.- Parameters:
iterator- TheCloseableIteratorproviding data.
-
-
Method Detail
-
leftOverReadableBytes
protected int leftOverReadableBytes()
Description copied from class:AbstractCloseableIteratorAsInputStreamGet the number of readable bytes in the left over buffer.- Specified by:
leftOverReadableBytesin classAbstractCloseableIteratorAsInputStream<Buffer>- Returns:
- the number of readable bytes in the left over buffer.
-
leftOverReadBytes
protected void leftOverReadBytes(byte[] dst, int offset, int length)Description copied from class:AbstractCloseableIteratorAsInputStreamRead bytes from the left over buffer intob.- Specified by:
leftOverReadBytesin classAbstractCloseableIteratorAsInputStream<Buffer>- Parameters:
dst- The destination to read to.offset- The offset to read into fordst.length- The amount of bytes to read from the left over buffer.
-
hasLeftOver
protected boolean hasLeftOver()
Description copied from class:AbstractCloseableIteratorAsInputStreamDetermine if there are left over bytes buffered.- Specified by:
hasLeftOverin classAbstractCloseableIteratorAsInputStream<Buffer>- Returns:
trueif there are left over bytes buffered.
-
leftOverCheckReset
protected void leftOverCheckReset()
Description copied from class:AbstractCloseableIteratorAsInputStreamCheck if the left over buffer needs to be reset.- Specified by:
leftOverCheckResetin classAbstractCloseableIteratorAsInputStream<Buffer>
-
leftOverReset
protected void leftOverReset()
Description copied from class:AbstractCloseableIteratorAsInputStreamReset the left over buffer.- Specified by:
leftOverResetin classAbstractCloseableIteratorAsInputStream<Buffer>
-
nextLeftOver
protected void nextLeftOver(CloseableIterator<Buffer> iterator)
Description copied from class:AbstractCloseableIteratorAsInputStreamRead the next element from theIterator.- Specified by:
nextLeftOverin classAbstractCloseableIteratorAsInputStream<Buffer>- Parameters:
iterator- TheCloseableIteratorto get the next element from.
-
leftOverReadSingleByte
protected byte leftOverReadSingleByte()
Description copied from class:AbstractCloseableIteratorAsInputStreamRead a single byte from the left over buffer.- Specified by:
leftOverReadSingleBytein classAbstractCloseableIteratorAsInputStream<Buffer>- Returns:
- a single byte from the left over buffer.
-
isClosed
protected boolean isClosed()
Description copied from class:AbstractCloseableIteratorAsInputStreamDetermine ifAbstractCloseableIteratorAsInputStream.close()has been called.- Specified by:
isClosedin classAbstractCloseableIteratorAsInputStream<Buffer>- Returns:
trueifAbstractCloseableIteratorAsInputStream.close()has been called.
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classAbstractCloseableIteratorAsInputStream<Buffer>- Throws:
java.io.IOException
-
-