private static class StreamMultiplexer.MultiplexerStreaminformations extends Object
StreamMultiplexer._streams
Modifier and Type | Field and Description |
---|---|
private int |
_currentStreamPacketIndex
Der aktuelle Index bis zu dem Pakete verschickt wurden
|
private StreamMultiplexerDirector |
_director |
private int |
_maxStreamPacketIndex
Bis zu welchem Paketindex darf der Sender Pakete versenden
|
private boolean |
_streamTerminated
Wenn ein Stream abgebrochen wurde (mit abort des Empfängers oder take liefert null oder
killAllStreams
), dann wird dieser boolean true. |
Constructor and Description |
---|
StreamMultiplexer.MultiplexerStreaminformations(int deblockingFactor,
StreamMultiplexerDirector director)
Beim erzeugen des Objekts wird sofort festgelegt, wie viele Nutzdatenpakete vom Sender beim ersten Senden
verschickt werden (deblockingFactor viele).
|
Modifier and Type | Method and Description |
---|---|
int |
getCurrentStreamPacketIndex() |
int |
getMaxStreamPacketIndex() |
boolean |
isStreamTerminated()
Wenn der Stream keine Nutzdaten mehr verschicken darf, dann wird true zurück gegeben.
|
void |
setCurrentStreamPacketIndex(int currentStreamPacketIndex) |
void |
setMaxStreamPacketIndex(int maxStreamPacketIndex) |
void |
setStreamFinished()
Der Stream darf keine Daten mehr senden.
|
void |
setStreamTerminated(int indexOfStream)
Der Stream darf keine Daten mehr senden.
|
private int _maxStreamPacketIndex
private int _currentStreamPacketIndex
private boolean _streamTerminated
killAllStreams
), dann wird dieser boolean true. Streng genommen müßte man die Fälle trennen, aber das bringt keinen
Informationsgewinn, darum findet keine Trennung statt. (Jede Abfrage ob _streamTerminated == true müßte um eine
Variable, ob der Stream "normal" beendet wurde oder der Senderapplikation kill verwendet hat, erweitert werden)private final StreamMultiplexerDirector _director
public StreamMultiplexer.MultiplexerStreaminformations(int deblockingFactor, StreamMultiplexerDirector director)
deblockingFactor
- Wie viele Pakete werden beim initialen Senden durch den StreamMultiplexer verschicktdirector
- Ein Stream kann mit diesem Objekt anzeigen das er abgebrochen wurde. Somit müssen keine
weiteren Nutzdatenpakete, die mit take
angefordert werden, bereitgestellt
werden.public int getMaxStreamPacketIndex()
public void setMaxStreamPacketIndex(int maxStreamPacketIndex)
public int getCurrentStreamPacketIndex()
public void setCurrentStreamPacketIndex(int currentStreamPacketIndex)
public boolean isStreamTerminated()
public void setStreamFinished()
take
Aufruf zurückgegeben wird.public void setStreamTerminated(int indexOfStream)
killAllStreams
des StreamMultiplexer wird aufgerufen. Bei Aufruf dieser Methode wird das Objekt, das
den StreamMultiplexerDirector implementiert, benachrichtigt das es keine weiteren Nutzdatenpakete für den Stream
bereithalten muss.
Wurde der Stream bereits mit setStreamFinished
beendet, bewirkt dieser Methodenaufruf nichts.