Class AbstractCloseableIteratorAsInputStream<T>
java.lang.Object
java.io.InputStream
io.servicetalk.concurrent.internal.AbstractCloseableIteratorAsInputStream<T>
- Type Parameters:
T- Type of items emitted by theCloseableIterator.
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
CloseableIteratorBufferAsInputStream
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate a new instance. -
Method Summary
Modifier and TypeMethodDescriptionfinal intvoidclose()protected abstract booleanDetermine if there are left over bytes buffered.protected abstract booleanisClosed()Determine ifclose()has been called.protected abstract voidCheck if the left over buffer needs to be reset.protected abstract intGet the number of readable bytes in the left over buffer.protected abstract voidleftOverReadBytes(byte[] dst, int offset, int length) Read bytes from the left over buffer intob.protected abstract byteRead a single byte from the left over buffer.protected abstract voidReset the left over buffer.final booleanprotected abstract voidnextLeftOver(CloseableIterator<T> iterator) Read the next element from theIterator.final intread()final intread(byte[] b, int off, int len) Methods inherited from class java.io.InputStream
mark, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
AbstractCloseableIteratorAsInputStream
Create a new instance.- Parameters:
source- TheCloseableIteratorproviding data.
-
-
Method Details
-
leftOverReadableBytes
protected abstract int leftOverReadableBytes()Get the number of readable bytes in the left over buffer.- Returns:
- the number of readable bytes in the left over buffer.
-
leftOverReadBytes
protected abstract void leftOverReadBytes(byte[] dst, int offset, int length) Read bytes from the left over buffer intob.- 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 abstract boolean hasLeftOver()Determine if there are left over bytes buffered.- Returns:
trueif there are left over bytes buffered.
-
leftOverCheckReset
protected abstract void leftOverCheckReset()Check if the left over buffer needs to be reset. -
leftOverReset
protected abstract void leftOverReset()Reset the left over buffer. -
nextLeftOver
Read the next element from theIterator.- Parameters:
iterator- TheCloseableIteratorto get the next element from.
-
leftOverReadSingleByte
protected abstract byte leftOverReadSingleByte()Read a single byte from the left over buffer.- Returns:
- a single byte from the left over buffer.
-
isClosed
protected abstract boolean isClosed()Determine ifclose()has been called.- Returns:
trueifclose()has been called.
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-
available
public final int available()- Overrides:
availablein classInputStream
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-
markSupported
public final boolean markSupported()- Overrides:
markSupportedin classInputStream
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-