de.bsvrz.sys.funclib.communicationStreams
Interface StreamMultiplexerDirector


public interface StreamMultiplexerDirector

Dieses Interface muss implementiert werden, wenn ein StreamMultiplexer mit einem StreamDemultiplexer Nutzdatenpakete austauschen soll. Die Methoden ermöglichen es, dass der StreamMultiplexer Nutzdaten von der Sendeapplikation anfordern und diese dann an den StreamDemultiplexer weitergeben kann.

Author:
Kappich Systemberatung

Method Summary
 void sendData(byte[] streamDataPacket)
          Diese Methode wird von einem StreamMultiplexer aufgerufen und wenn ein Byte-Array an den entsprechenden StreamDemultiplexer gesendet werden soll.
 void streamAborted(int indexOfStream)
          Wenn die Empfängerapplikation keine Nutzdaten mehr verarbeiten kann (aus welchem Grund auch immer), wird sie den Stream auf Empfängerseite (StreamDemultiplexer) mit abort beenden.
 byte[] take(int indexOfStream)
          Diese Methode wird von einem StreamMultiplexer aufgerufen, sobald dieser Daten an einen StreamDemultiplexer verschicken darf.
 

Method Detail

take

byte[] take(int indexOfStream)
Diese Methode wird von einem StreamMultiplexer aufgerufen, sobald dieser Daten an einen StreamDemultiplexer verschicken darf. Die Methode sollte ein Nutzdatenpaket zur Verfügung stellen, das dann über den StreamMultiplexer und StreamDemultiplexer der Empfängerapplikation beim Aufruf der StreamDemultiplexer.take(int) bereit gestellt wird.

Parameters:
indexOfStream - Stream über den die Nutzdaten übertragen werden sollen
Returns:
Nutzdaten, die von der Sendeapplikation zur Empfängerapplikation geschickt werden sollen. Sobald die Sendeapplikation keine Nutzdaten mehr für die Empfängerapplikation hat, wird ein null zurück gegeben.

sendData

void sendData(byte[] streamDataPacket)
Diese Methode wird von einem StreamMultiplexer aufgerufen und wenn ein Byte-Array an den entsprechenden StreamDemultiplexer gesendet werden soll. Empfangsseitig sollte die Methode StreamDemultiplexer.receivedDataFromSender(byte[]) aufgerufen werden. Das Byte-Array enthält kodiert den Index des Streams, den Index des Pakets, die Größe des Byte-Arrays in dem die Nutzdaten gespeichert sind und die Nutzdaten.

Parameters:
streamDataPacket - Ein Nutzdatenpaket vom StreamMultiplexer zum StreamDemultiplexer

streamAborted

void streamAborted(int indexOfStream)
Wenn die Empfängerapplikation keine Nutzdaten mehr verarbeiten kann (aus welchem Grund auch immer), wird sie den Stream auf Empfängerseite (StreamDemultiplexer) mit abort beenden. Mit diesem Methodenaufruf wird die Senderapplikation benachrichtigt, dass sie alle Daten, die für einen Stream bereitgestellt wurden nicht mehr benötigt wurden und das sie auch in Zukunft keine Daten mehr für diesen Stream zur Verfügung stellen muss. Der StreamMultiplexer wird diese Funktion aufrufen, sobald er von dem StreamDemultiplexer benachrichtigt wurde, dass ein Stream abgebrochen werden kann.

Parameters:
indexOfStream - Index des Streams, dessen Nutzdaten in der Senderapplikation verworfen werden können