public class TlsApplicationLayer extends java.lang.Object implements ApplicationLayer, de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayerListener
Modifier and Type | Field and Description |
---|---|
static Queue |
_deBlockQueue |
static de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayer |
_networkLayer |
Constructor and Description |
---|
TlsApplicationLayer(de.bsvrz.dav.daf.main.ClientDavInterface daf,
de.bsvrz.dav.daf.main.config.ConfigurationObject localDevice,
de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayer networkLayer,
java.lang.String sourceDataReferencesClassName,
boolean sendOnlyDeOk,
boolean sendOnlyConnectedSM) |
Modifier and Type | Method and Description |
---|---|
static void |
addSendDeBlock(int jobNumber,
DeBlock deBlock) |
static void |
addSendSingleTelegram(int jobNumber,
SingleTelegram singleTelegram) |
void |
dataReceived(int sender,
byte[] data,
boolean longTelegram)
Wird durch OSI 3 aufgerufen, wenn Telegramm empfangen wurde.
|
static de.bsvrz.dav.daf.main.config.SystemObject[] |
getObjectRefsToDe(de.bsvrz.dav.daf.main.config.SystemObject de)
Liefert die auf dieses DE referenzierenden Fachobjekte eines bestimmten Objekttyps.
|
static DeBlock |
getSendDeBlock(int jobNumber) |
static SingleTelegram |
getSendSingleTelegram(int jobNumber) |
static boolean |
isCorrectSender(int osi7AdressSender,
int osi7AdressReceiver,
int de,
int fg)
Prüft, ob die angebene Kombination von Sender des Telegramms und den Empfangsdaten (Empfängerknotennummer, DeNummer
und FG in der Liste der TLS ähnlichen Kommunikationspartner überhaupt existiert.
|
void |
start()
Startmethode von ApplicationLayer.
|
void |
stateChanged(int osi7adress,
int connectionState)
Wird durch OSI 3 aufgerufen, wenn sich der Verbindungsstatus zu einem Gerät ändert.
|
static void |
writeNoDataToUnreachableDe(Eak eak,
long timeStamp)
Ermittelt aus dem Eak alle betroffenen De und schreibt bei diesen für alle angemeldeten Daten einen leeren
Datensatz, so dass der aktuelle Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(Eak eak,
long timeStamp,
int fg)
Ermittelt aus dem Eak alle betroffenen De und schreibt bei diesen für alle angemeldeten Daten einen leeren
Datensatz, so dass der aktuelle Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(Eak eak,
long timeStamp,
int fg,
java.lang.String[] excludedAtgAspArray)
Ermittelt aus dem Eak alle betroffenen De und schreibt bei diesen für alle angemeldeten Daten einen leeren
Datensatz, so dass der aktuelle Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(int[] osi7Adress,
long timeStamp)
Ermittelt aus der Liste der übergebenen Osi7Adressen der nicht erreichbaren Geräte (Kommunikationsunterbrechung)
alle betroffenen De und schreibt bei diesen für alle angemeldeten Daten einen leeren Datensatz, so dass der aktuelle
Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(int[] osi7Adress,
long timeStamp,
java.lang.String[] excludedAtgAspArray)
Ermittelt aus der Liste der übergebenen Osi7Adressen der nicht erreichbaren Geräte (Kommunikationsunterbrechung)
alle betroffenen De und schreibt bei diesen für alle angemeldeten Daten einen leeren Datensatz, so dass der aktuelle
Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(java.util.List deList,
long timeStamp,
int fg,
java.lang.String atg)
Schreibt bei dem übergebenen De für alle angemeldeten Daten (ausser dem DeFehler) einen leeren Datensatz, so dass
der aktuelle Zustand dieser Daten als nicht bekannt publiziert wird.
|
static void |
writeNoDataToUnreachableDe(java.util.List deList,
long timeStamp,
int fg,
java.lang.String[] excludedAtgAspArray)
Schreibt bei dem übergebenen De für alle angemeldeten Daten (ausser dem DeFehler) einen leeren Datensatz, so dass
der aktuelle Zustand dieser Daten als nicht bekannt publiziert wird.
|
public static final Queue _deBlockQueue
public static de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayer _networkLayer
public TlsApplicationLayer(de.bsvrz.dav.daf.main.ClientDavInterface daf, de.bsvrz.dav.daf.main.config.ConfigurationObject localDevice, de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayer networkLayer, java.lang.String sourceDataReferencesClassName, boolean sendOnlyDeOk, boolean sendOnlyConnectedSM)
public static void addSendDeBlock(int jobNumber, DeBlock deBlock)
jobNumber
- deBlock
- public static void addSendSingleTelegram(int jobNumber, SingleTelegram singleTelegram)
jobNumber
- singleTelegram
- public static de.bsvrz.dav.daf.main.config.SystemObject[] getObjectRefsToDe(de.bsvrz.dav.daf.main.config.SystemObject de)
de
- Objekt (De), für die die Objekte die auf diese DE referenzieren, ermittelt werden sollen.public static DeBlock getSendDeBlock(int jobNumber)
jobNumber
- public static SingleTelegram getSendSingleTelegram(int jobNumber)
jobNumber
- public static boolean isCorrectSender(int osi7AdressSender, int osi7AdressReceiver, int de, int fg)
osi7AdressSender
- Knotennummer des Senders.osi7AdressReceiver
- Knotennummer des Empfängers.de
- DeNummer des Empfängers.fg
- Funktionsgruppe des Empfängers.public static void writeNoDataToUnreachableDe(Eak eak, long timeStamp)
eak
- Eak an Steuermodul, dass nicht mehr angesprochen werden kanntimeStamp
- Zeitpunkt des Kommunikationsausfallspublic static void writeNoDataToUnreachableDe(int[] osi7Adress, long timeStamp)
osi7Adress
- Array der Osi7Adressen der nicht erreichbaren GerätetimeStamp
- Zeitpunkt des Kommunikationsausfallspublic static void writeNoDataToUnreachableDe(Eak eak, long timeStamp, int fg)
eak
- Eak an Steuermodul, dass nicht mehr angesprochen werden kanntimeStamp
- Zeitpunkt des Kommunikationsausfallsfg
- Funktionsgruppe, auf die das Erzeugen leerer Datensätze eingeschränkt werden soll.public static void writeNoDataToUnreachableDe(int[] osi7Adress, long timeStamp, java.lang.String[] excludedAtgAspArray)
osi7Adress
- Array der Osi7Adressen der nicht erreichbaren GerätetimeStamp
- Zeitpunkt des KommunikationsausfallsexcludedAtgAspArray
- Array mit den Pids der zu ignorierenden Attributgruppen und Aspekten. Es können
einzelne Attributgruppen, einzelne Aspekte und mit Doppelpunkt getrennt auch
Kombinationen von Attributgruppen und Aspekten spezifiziert werden, für die
keine leeren Datensätze erzeugt werden sollen. Außerdem kann auch eine
Kombination von DE, Attributgruppe und Aspekt durch Kombination der
jeweiligen Pids (Bsp: "de.x:atg.y:asp.z") spezifiziert werden für die für die
keine auch keine leeren Datensätze erzeugt werden sollen.public static void writeNoDataToUnreachableDe(Eak eak, long timeStamp, int fg, java.lang.String[] excludedAtgAspArray)
eak
- Eak an Steuermodul, dass nicht mehr angesprochen werden kanntimeStamp
- Zeitpunkt des Kommunikationsausfallsfg
- Funktionsgruppe, auf die das Erzeugen leerer Datensätze eingeschränkt werden soll.excludedAtgAspArray
- Array mit den Pids der zu ignorierenden Attributgruppen und Aspekten. Es können
einzelne Attributgruppen, einzelne Aspekte und mit Doppelpunkt getrennt auch
Kombinationen von Attributgruppen und Aspekten spezifiziert werden, für die
keine leeren Datensätze erzeugt werden sollen. Außerdem kann auch eine
Kombination von DE, Attributgruppe und Aspekt durch Kombination der
jeweiligen Pids (Bsp: "de.x:atg.y:asp.z") spezifiziert werden für die für die
keine auch keine leeren Datensätze erzeugt werden sollen.public static void writeNoDataToUnreachableDe(java.util.List deList, long timeStamp, int fg, java.lang.String atg)
deList
- Liste der De, für die Kommunikationsausfall/Fehler zu/bei diesen De erkannt wurde.timeStamp
- Zeitpunkt des Kommunikationsausfallsfg
- Funktionsgruppe, auf die das Erzeugen leerer Datensätze eingeschränkt werden soll.atg
- Attributgruppen-Pid, für die kein leerer Datensätze erzeugt werden soll.public static void writeNoDataToUnreachableDe(java.util.List deList, long timeStamp, int fg, java.lang.String[] excludedAtgAspArray)
deList
- Liste der De, für die Kommunikationsausfall/Fehler zu/bei diesen De erkannt wurde.timeStamp
- Zeitpunkt des Kommunikationsausfallsfg
- Funktionsgruppe, auf die das Erzeugen leerer Datensätze eingeschränkt werden soll.excludedAtgAspArray
- Array mit den Pids der zu ignorierenden Attributgruppen und Aspekten. Es können
einzelne Attributgruppen, einzelne Aspekte und mit Doppelpunkt getrennt auch
Kombinationen von Attributgruppen und Aspekten spezifiziert werden, für die
keine leeren Datensätze erzeugt werden sollen. Außerdem kann auch eine
Kombination von DE, Attributgruppe und Aspekt durch Kombination der
jeweiligen Pids (Bsp: "de.x:atg.y:asp.z") spezifiziert werden für die für die
keine auch keine leeren Datensätze erzeugt werden sollen.public void dataReceived(int sender, byte[] data, boolean longTelegram)
dataReceived
in interface de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayerListener
longTelegram
- true = Ein Langtelegramm, das nicht der TLS Definition entsprichtpublic void start()
start
in interface ApplicationLayer
public void stateChanged(int osi7adress, int connectionState)
stateChanged
in interface de.bsvrz.kex.tls.osi2osi3.osi3.NetworkLayerListener
osi7adress
- Osi7Adresse des Gerätes, dessen Status sich geändert hat.connectionState
- Status des Gerätes.