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
ModifierConstructorDescriptionprotected
Create a new instance. -
Method Summary
Modifier and TypeMethodDescriptionfinal int
void
close()
protected abstract boolean
Determine if there are left over bytes buffered.protected abstract boolean
isClosed()
Determine ifclose()
has been called.protected abstract void
Check if the left over buffer needs to be reset.protected abstract int
Get the number of readable bytes in the left over buffer.protected abstract void
leftOverReadBytes
(byte[] dst, int offset, int length) Read bytes from the left over buffer intob
.protected abstract byte
Read a single byte from the left over buffer.protected abstract void
Reset the left over buffer.final boolean
protected abstract void
nextLeftOver
(CloseableIterator<T> iterator) Read the next element from theIterator
.final int
read()
final int
read
(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
- TheCloseableIterator
providing 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:
true
if 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
- TheCloseableIterator
to 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:
true
ifclose()
has been called.
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
available
public final int available()- Overrides:
available
in classInputStream
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-
markSupported
public final boolean markSupported()- Overrides:
markSupported
in classInputStream
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-