public class Osi7LongTelegramRecombine extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
Osi7LongTelegramRecombine.Receiver |
private static class |
Osi7LongTelegramRecombine.ReceiverKey |
Modifier and Type | Field and Description |
---|---|
private Map<Osi7LongTelegramRecombine.ReceiverKey,Osi7LongTelegramRecombine.Receiver> |
_dataReceivers
Diese Map speichert alle Empfänger.
|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
Constructor and Description |
---|
Osi7LongTelegramRecombine() |
Modifier and Type | Method and Description |
---|---|
private static int |
getDataBlockNumber(byte[] receivedData)
Diese Methode liest aus einem übergebenen Langtelegramm die DatenBlockNummer aus.
|
private static int |
getDataBlockType(byte[] receivedData)
Diese Methode liest aus einem übergebenen Langtelegramm den DatenBlockTyp aus.
|
byte[] |
getLongTelegram(byte[] telegram)
Gibt ein fertiges Langtelegramm zurück, damit das fertige Langtelegramm gefunden werden kann, wird das letzte Teiltelegramm übergeben.
|
private static LongTelegramType |
getLongType(byte[] receivedData) |
private Osi7LongTelegramRecombine.Receiver |
getReceiver(Osi7LongTelegramRecombine.ReceiverKey key)
Diese Methode prüft, ob ein Empfänger vorhanden ist, wenn ja, dann wird dieser zurückgegeben.
|
private static int |
getSenderAddress(byte[] receivedData)
Diese Methode übergibt aus einem übergebenen Langtelegramm die Absenderadresse aus.
|
private void |
removeReceiver(Osi7LongTelegramRecombine.ReceiverKey key)
Diese Methode entfernt einen Empfänger aus der Map.
|
boolean |
telegramReceived(byte[] telegram)
Erstellt ein Langtelegramm.
|
private final Map<Osi7LongTelegramRecombine.ReceiverKey,Osi7LongTelegramRecombine.Receiver> _dataReceivers
private static final Debug _debug
public boolean telegramReceived(byte[] telegram)
telegram
- Teil eines Langtelegramms, das eingefügt werden soll. Dies kann auch den Anfang eines Langtelegramms darstellenpublic byte[] getLongTelegram(byte[] telegram) throws IllegalStateException
telegram
- Ein Teiltelegramm, das zu dem Langtelegramm gehört. Aus diesem Telegramm werden Informationen ausgelesen, um das richtige Langtelegramm zu
finden.IllegalStateException
- Das angeforderte Langtelegramm war noch nicht fertigprivate Osi7LongTelegramRecombine.Receiver getReceiver(Osi7LongTelegramRecombine.ReceiverKey key)
key
- Schlüssel, zu dem ein Empfänger gesucht wird. Ist kein Objekt für den Key vorhanden, wird ein Objekt angelegt und mit dem übergebenen Key in der
Map gespeichertprivate void removeReceiver(Osi7LongTelegramRecombine.ReceiverKey key)
key
- Schlüssel des Objekts, das entfernt werden sollprivate static final int getDataBlockType(byte[] receivedData)
receivedData
- empfangendes Langtelegrammprivate static final int getDataBlockNumber(byte[] receivedData)
receivedData
- empfangendes Langtelegrammprivate static final int getSenderAddress(byte[] receivedData)
receivedData
- empfangendes Langtelegrammprivate static final LongTelegramType getLongType(byte[] receivedData) throws IllegalArgumentException
IllegalArgumentException