public class TlsNetworkLayer extends java.lang.Object implements NetworkLayer, NetworkLayerSender
Modifier and Type | Field and Description |
---|---|
int |
_localDeviceAddress |
PRIORITY_CLASS_1, PRIORITY_CLASS_2
Constructor and Description |
---|
TlsNetworkLayer() |
Modifier and Type | Method and Description |
---|---|
void |
addEventListener(NetworkLayerListener networkLayerListener)
Meldet einen Empfänger für Ereignis der Netzebene an.
|
void |
completeInitialization()
Suchalgorithmus zur Ermittlung aller möglichen Routen zu anderen Geräten.
|
DataLinkLayerListener |
getDataLinkLayerListener() |
int[] |
getRoutedRemoteDevices(int device)
Bestimmt die Geräte, die über das angegebene Gerät erreichbar sind.
|
void |
handleDataLinkLayerEvent(DataLinkLayerEvent event)
Wird aufgerufen, wenn ein Daten-Telegramm von der Osi2 Schnittstelle empfangen wird.
|
boolean |
isReducingToControlByte(DataLinkLayer.Link link)
Es wird geprüft ob die Option auf ReduzierungAufSteuerbyte aktiviert ist, d.h. der Osi3-Header wird auf das Steuerbyte reduziert (Osi3-Routinginformationen
entfernt) Falls keine Einstellung dafür vorhanden ist, wird das Telegram normal (mit Osi3-Routinginformationen) weitergeleitet.
|
void |
removeEventListener(NetworkLayerListener networkLayerListener)
Meldet einen angemeldeten Empfänger für Ereignisse der Netzebene wieder ab.
|
void |
sendData(int destination,
byte[] data,
boolean longTelegram)
Sendet ein Telegramm mit hoher Priorität an ein vorgegebenes Zielgerät.
|
void |
sendData(int destination,
int priority,
byte[] data,
boolean longTelegram)
Methode zum Versenden von Telegrammen mit vorgegebener Priorität
|
void |
sendWithoutRedirection(int destination,
int priority,
byte[] data,
boolean longTelegram) |
void |
setTelegramProcessor(TelegramProcessor telegramProcessor) |
void |
start()
Startet die Verarbeitung von Telegrammen
|
public void addEventListener(NetworkLayerListener networkLayerListener)
NetworkLayer
addEventListener
in interface NetworkLayer
networkLayerListener
- Anzumeldender Empfänger, der die Verarbeitung von empfangenen Telegrammen und Statusänderungen von Verbindungen übernimmt.public void removeEventListener(NetworkLayerListener networkLayerListener)
NetworkLayer
removeEventListener
in interface NetworkLayer
networkLayerListener
- Abzumeldender Empfängerpublic int[] getRoutedRemoteDevices(int device)
NetworkLayer
getRoutedRemoteDevices
in interface NetworkLayer
device
- Gerät zu dem die darüber erreichbaren Geräte ermittelt werden sollen.public void sendData(int destination, byte[] data, boolean longTelegram) throws DestinationUnreachableException
NetworkLayer
sendData
in interface NetworkLayer
destination
- Knotennummer des Geräts an das das Telegramm gesendet werden soll.data
- Nutzdaten aus Sicht des NetworkLayers (i.a. ein OSI-7 Telegrammblock).longTelegram
- true = Langtelegramm, das nicht der TLS Definition entspricht; false = Telegramm, das der TLS Definition entsprichtDestinationUnreachableException
- Wenn das angegebene Ziel nicht erreichbar ist.public void sendData(int destination, int priority, byte[] data, boolean longTelegram) throws DestinationUnreachableException
sendData
in interface NetworkLayer
destination
- Knotennummer, an die gesendet werden sollpriority
- Priorität, unter der das Telegramm versendet werden solldata
- Bytearray Telegrammdaten OSI7longTelegram
- true = Es soll ein Langtelegramm verschickt werden, das nicht der TLS-Norm entsprichtDestinationUnreachableException
- Exceptionpublic void sendWithoutRedirection(int destination, int priority, byte[] data, boolean longTelegram) throws DestinationUnreachableException
sendWithoutRedirection
in interface NetworkLayerSender
DestinationUnreachableException
public void start()
NetworkLayer
start
in interface NetworkLayer
public DataLinkLayerListener getDataLinkLayerListener()
public boolean isReducingToControlByte(DataLinkLayer.Link link)
link
- Verbindung, von der die Einstellungen bezogen werdenfalse
: Osi3-Adressen werden nicht ignoriert true
: Osi3-Adressen werden ignoriert und werden bis auf das Steuerbyte
entfernt.public void handleDataLinkLayerEvent(DataLinkLayerEvent event)
Wenn das Telegramm keine Informationen über den Verbindungdstatus beinhaltet, wird das Telegram anhand des Osi3-Header-Information (Steuerbyte und Routinginformationen) ausgewertet und weitergeleitet.
event
- Beinhaltet das Telegram und die verwendeten Schnittstellen-Informationen.public void completeInitialization()
public void setTelegramProcessor(TelegramProcessor telegramProcessor)