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:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
CloseableIteratorBufferAsInputStream
public abstract class AbstractCloseableIteratorAsInputStream<T> extends java.io.InputStream
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCloseableIteratorAsInputStream(CloseableIterator<T> source)
Create a new instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
protected abstract boolean
hasLeftOver()
Determine if there are left over bytes buffered.protected abstract boolean
isClosed()
Determine ifclose()
has been called.protected abstract void
leftOverCheckReset()
Check if the left over buffer needs to be reset.protected abstract int
leftOverReadableBytes()
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
leftOverReadSingleByte()
Read a single byte from the left over buffer.protected abstract void
leftOverReset()
Reset the left over buffer.boolean
markSupported()
protected abstract void
nextLeftOver(CloseableIterator<T> iterator)
Read the next element from theIterator
.int
read()
int
read(byte[] b, int off, int len)
-
-
-
Constructor Detail
-
AbstractCloseableIteratorAsInputStream
protected AbstractCloseableIteratorAsInputStream(CloseableIterator<T> source)
Create a new instance.- Parameters:
source
- TheCloseableIterator
providing data.
-
-
Method Detail
-
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
protected abstract void nextLeftOver(CloseableIterator<T> iterator)
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
public final int read(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
available
public final int available()
- Overrides:
available
in classjava.io.InputStream
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
markSupported
public final boolean markSupported()
- Overrides:
markSupported
in classjava.io.InputStream
-
read
public final int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-