private static class ChunkConnectionAdapter.ChunkInputStream
extends java.io.InputStream
InputStream
, welcher die durch
read()
zurueckgegeben Bytes aus den einzelnen Chunks eines
IChunkReader
nimmt.Modifier and Type | Field and Description |
---|---|
private byte[] |
m_buffer
Der interne Buffer stellt den zuletzt gelesen Chunk dar und ist die
Basis fuer die durch
read() zurueckgegeben Byes |
private IChunkReader |
m_reader
Der Reader welcher die Chunks und somit die Daten bereitstellt
|
private int |
m_readPos
Die aktuelle Position innerhalb des Buffer ab welcher Daten
zurueckgegeben werden.
|
private int |
m_state
Der interne Zustand des Streams
|
Constructor and Description |
---|
ChunkInputStream(IChunkReader a_reader)
Erstellt einen neuen
ChunkConnectionAdapter.ChunkInputStream auf Basis des
uebergeben Readers |
Modifier and Type | Method and Description |
---|---|
int |
available()
Liefert die Anzahl der verbleibenen Bytes innerhalb des Buffers
zurueck.
|
void |
close()
Schliesst den Strom und den zugrundelegenden Reader
|
int |
read() |
private void |
updateBuffer()
Interne Funktion um den Buffer durch einen neuen Chunk aufzufrischen
und gegebenfalls den internen Zustand des Streams anzupassen.
|
private IChunkReader m_reader
private byte[] m_buffer
read()
zurueckgegeben Byesprivate volatile int m_readPos
private int m_state
public ChunkInputStream(IChunkReader a_reader)
ChunkConnectionAdapter.ChunkInputStream
auf Basis des
uebergeben ReadersDer
- Reader, welcher die einezelnen Chunks und somit Daten
liefert.public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
private void updateBuffer() throws java.io.IOException
Einzige wirklich blockierende Aufruf.
java.io.IOException
public int available() throws java.io.IOException
available
in class java.io.InputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
Copyright © 2023. All rights reserved.