|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.communicationStreams.StreamMultiplexer
public class StreamMultiplexer
Diese Klasse verschickt Nutzdatenpakete mit Streams an einen StreamDemultiplexer. Die Applikation, die ein Objekt dieser Klasse erzeugt hat, stellt ihrerseits Nutzdaten für jeden Stream zur Verfügung. Auf der Gegenseite kann der StreamDemultiplexer Nutzdaten auf jedem Stream anfordern und verarbeiten. Der StreamMultiplexer sendet seinerseits nur dann Nutzdatenpakete, wenn ihn der StreamDemultiplexer dazu auffordert. Die Nutzdaten werden auch erst dann erzeugt, wenn diese verschickt werden sollen. Der StreamMultiplexer verschickt die Nutzdatenpakete nicht einzeln, sondern bündelt diese in einem großen Paket. Diese großen Pakete werden dann vom StreamDemultiplexer entgegen genommen und ausgepackt. Diese Bündelung findet für jeden Stream einzeln statt, in jedem großen Paket befinden sich also nur Nutzdaten für diesen einen Stream, nicht die Nutzdaten anderer Streams.
Constructor Summary | |
---|---|
StreamMultiplexer(int numberOfStreams,
int blockingFactor,
int bufferSizeStreamMultiplexer,
int serializerVersion,
StreamMultiplexerDirector director)
|
Method Summary | |
---|---|
void |
killAllStreams()
Alle Streams werden beendet, da die Verbindung zum Empfänger unterbrochen wurde. |
void |
sendAllStreamData()
Diese Methode verschickt Nutzdaten, die die Senderapplikation erzeugt hat, an den Empfänger (StreamDemultiplexer). |
void |
setMaximumStreamTicketIndexForStream(byte[] streamTicketPacket)
Diese Methode setzt den "maximumStreamTicketIndex" eines Streams herauf. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public StreamMultiplexer(int numberOfStreams, int blockingFactor, int bufferSizeStreamMultiplexer, int serializerVersion, StreamMultiplexerDirector director)
numberOfStreams
- Anzahl von Streams, die Datenpakete versenden sollenblockingFactor
- Anzahl der Pakete, die initial am Anfang versendet werdenbufferSizeStreamMultiplexer
- Diese Variable bestimmt die gesamte Größe des Puffers, der zum StreamMultiplexer
gehörtserializerVersion
- Diese Variable legt die Versionsnummer des Deserializer/Serializer fest, der
benutzt wird. Sowohl der StreamMultiplexer als auch der StreamDemultiplexer
müssen die selbe Version benutzendirector
- Schnittstelle, die eine Methode zum verschicken von Informationen an den Sender
bereitstellt (siehe Interface Beschreibung)Serializer
,
Deserializer
Method Detail |
---|
public void sendAllStreamData() throws InterruptedException
InterruptedException
- Ein Thread, der auf ein Objekt in der Warteschlange gewartet hat, wurde mit Interrupt
unterbrochen.public void setMaximumStreamTicketIndexForStream(byte[] streamTicketPacket) throws IOException
streamTicketPacket
- Dieses Byte-Array enthält verschlüsselt den Index des Streams und den maximalen Index, bis
zu dem der StreamMultiplexer senden darf.
IOException
- Ein Fehler beim deserialisieren von Datenpublic void killAllStreams()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |