public class ChunkConnectionAdapter extends java.lang.Object implements IStreamConnection
IChunkConnection
um darauf aufbauend, eine
IStreamConnection
bereitzustellen. Hierzu exitieren interne
Implentierung von InputStream
und OutputStream
welche den
Paketbasierten Transport von byte-Stroemen organisieren.Modifier and Type | Class and Description |
---|---|
private static class |
ChunkConnectionAdapter.ChunkInputStream
Implentierung eines
InputStream , welcher die durch
ChunkConnectionAdapter.ChunkInputStream.read() zurueckgegeben Bytes aus den einzelnen Chunks eines
IChunkReader nimmt. |
private static class |
ChunkConnectionAdapter.ChunkOutputStream
Private Implementierung eines
OutputStream , welcher die durch
#write() uebergeben Bytes als Chunk mit Hilfe eines
IChunkWriter sendet. |
Modifier and Type | Field and Description |
---|---|
private static byte |
DATA_PACKET
Konstante um anzuzeigen, das ein Paket nicht das Ende des Stroms
signalisiert
|
private static byte |
EOF_PACKET
Konstante um anzuzeigen, das ein Paket das letzte uebertragene Paket
darstellt
|
private ChunkConnectionAdapter.ChunkInputStream |
m_inputstream
Die Eingabestrom der Verbindung
|
private ChunkConnectionAdapter.ChunkOutputStream |
m_outputstream
Der Ausgabestrom der Verbindung
|
private IChunkConnection |
m_underliningConnection
Die Basisverbindung, welche zur Uebertragung der eigentlichen Daten
genutzt wird
|
private static int |
StreamState_CLOSE
Der Strom ist geschlossen
|
private static int |
StreamState_EOF
Der Strom wird nach Bearbeitung des letzten Bytes geschlossen
|
private static int |
StreamState_OPEN
Der Strom ist offen
|
ConnectionState_CLOSE, ConnectionState_OPEN
Constructor and Description |
---|
ChunkConnectionAdapter(IChunkConnection a_underlyingConnection)
Erstellt einen neuen Adapter auf Basis der uebergebenen
IChunkConnection . |
Modifier and Type | Method and Description |
---|---|
void |
close()
Schliesst die Verbindung in dem nacheinander der Ein- und Ausgabestrom
geschlossen werden und abschliessend die zugrundelegende Verbindung.
|
int |
getCurrentState()
Liefert den Status der zugrundeliegenen Connection
|
java.io.InputStream |
getInputStream()
Liefert den Eingabestrom der Verbinundung, ueber welchen kontinuierlich
Daten empfangen werden koennen.
|
IAddress |
getLocalAddress()
Liefert die direkt die Adesse der zugrundeliegenen Verbindung zurueck.
|
java.io.OutputStream |
getOutputStream()
Liefert den Ausgabestrom der verbindung, ueber welchem Daten gesendet
werden koennen.
|
IAddress |
getRemoteAddress()
Liefert die direkt die Adesse der zugrundeliegenen Verbindung zurueck.
|
int |
getTimeout()
Ermittelt den momentanen Wert fuer das Timeout in Millisekunden fuer Lese-
und Schreiboperationen der Verbindung.
|
void |
setTimeout(int value)
Setzt den Timeout in Millisekunden fuer die Lese- und Schreiboperationen
der Verbindung.
|
private static final int StreamState_OPEN
private static final int StreamState_EOF
private static final int StreamState_CLOSE
private static final byte DATA_PACKET
private static final byte EOF_PACKET
private IChunkConnection m_underliningConnection
private ChunkConnectionAdapter.ChunkInputStream m_inputstream
private ChunkConnectionAdapter.ChunkOutputStream m_outputstream
public ChunkConnectionAdapter(IChunkConnection a_underlyingConnection)
IChunkConnection
.public java.io.InputStream getInputStream()
IStreamConnection
getInputStream
in interface IStreamConnection
public java.io.OutputStream getOutputStream()
IStreamConnection
getOutputStream
in interface IStreamConnection
public int getCurrentState()
getCurrentState
in interface IConnection
public IAddress getLocalAddress()
getLocalAddress
in interface IConnection
public IAddress getRemoteAddress()
getRemoteAddress
in interface IConnection
public int getTimeout() throws ConnectionException
IConnection
Socket
folgend, bestimmt 0 ein unendliches Timeout.getTimeout
in interface IConnection
ConnectionException
- Wird geworfen, wenn der Wert nicht ermittelt werden kann.public void setTimeout(int value) throws ConnectionException
IConnection
Socket
folgend, bestimmt 0 ein
unendliches Timeout.setTimeout
in interface IConnection
ConnectionException
- Wird geworfen, wenn das setzen des TimeOut nicht moeglich
war. Insbesondere kann durch eine
UnsupportedCommandException
Ausnahme angegeben werden,
dass das setzen generell nicht moeglich ist.public void close() throws java.io.IOException
close
in interface IConnection
java.io.IOException
Copyright © 2023. All rights reserved.