public class RedirectionInfo extends Object
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug |
(package private) Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> |
_receiveEntries
Map, wobei der Schlüssel die Knotennummer des Absenders ist.
|
(package private) Set<NodeFgPair> |
_receiveNoNormalProcessing
Set, in der alle Knoten - Funktionsgruppen - Kombinationen aufgeführt sind,
die nicht "normal" behandelt werden sollen.
|
(package private) Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> |
_sendEntries
Map, wobei der Schlüssel die Knotennummer des Empfängers ist.
|
(package private) Set<NodeFgPair> |
_sendNotToPrimalTarget
Set, in der alle Knoten - Funktionsgruppen - Kombinationen aufgeführt sind,
die nicht an des ursprüngliche Ziel geschickt werden sollen.
|
Constructor and Description |
---|
RedirectionInfo()
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
private void |
addEntry(Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> entries,
NodeFgPair nodeFgPair,
int[] destinations,
Osi7SingleTelegramConverter converter)
Ergänzt einen neuen Eintrag in der übergebenen Map.
|
(package private) void |
addReceiveEntry(int knr,
int fg,
boolean normalProcessing,
int[] destinations,
Osi7SingleTelegramConverter converter)
Fügt einen Eintrag in die Map zur Behandlung der empfangenen Telegramme hinzu.
|
void |
addSendEntry(Integer knr,
Integer fg,
boolean normalProcessing,
int[] destinations,
Osi7SingleTelegramConverter converter)
Fügt einen Eintrag in die Map zur Behandlung der zu sendenden Telegramme hinzu.
|
private String |
getLocationDistance(int nodeNumber)
Umrechnung der Knotennummer in Location und Distance
|
Map<Osi7SingleTelegramConverter,Set<Integer>> |
getReceiveRedirectionMap(int knr,
int fg)
Gibt die Map zur Weiterleitung von empfangenden Telegrammen zurück.
|
Map<Osi7SingleTelegramConverter,Set<Integer>> |
getSendRedirectionMap(int knr,
int fg)
Gibt die Map zur Weiterleitung von zu sendenen Telegrammen zurück.
|
(package private) boolean |
normalProcessing(Set<NodeFgPair> nonNormalProcessing,
int knr,
int fg)
Prüfung, ob für ein Set von Knoten-Funktionsgruppen Paaren bei einer bestimmten
Kombination die "normale Behandlung" durchgeführt werden soll oder nicht.
|
void |
printAllEntries()
Gibt alle gespeicherten Einträge aus.
|
private String |
printDestinations(Set<Integer> destinations)
Gibt ein Set von Knotennummern als String zurück.
|
private void |
printEntries(Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> entries,
Set<NodeFgPair> noNormalProcessing)
Ausgabe der Informationen zu den Empfangs oder Sendeinträgen.
|
boolean |
receivedTelegramNormalProcessing(int knr,
int fg)
Gibt für ein Paar von Knotennummer des Senders und Funktionsgruppe an, ob Telegramme dieser Kombination
auch lokal verarbeitet werden sollen (Rückgabe true)
|
boolean |
sendTelegramToPrimalTarget(int knr,
int fg)
Gibt für ein Paar von Knotennummer des Senders und Funktionsgruppe an, ob Telegramme dieser Kombination
auch lokal verarbeitet werden sollen (Rückgabe true)
|
Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> _receiveEntries
Set<NodeFgPair> _receiveNoNormalProcessing
Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> _sendEntries
Set<NodeFgPair> _sendNotToPrimalTarget
private static final Debug _debug
void addReceiveEntry(int knr, int fg, boolean normalProcessing, int[] destinations, Osi7SingleTelegramConverter converter)
knr
- Knotennummer, für den der Eintrag giltfg
- Funktionsgruppe, wenn Null, dann zu allen FunktionsgruppennormalProcessing
- Ob auch zum Originalziel gesendet wird (true). Bei false wird dies unterdrückt.destinations
- Ziele, an die gesendet werden sollconverter
- OSI7 Telegrammkonverter (falls vorhanden) sonst null.public Map<Osi7SingleTelegramConverter,Set<Integer>> getReceiveRedirectionMap(int knr, int fg)
knr
- Knotennummerfg
- Funktionsgruppepublic boolean receivedTelegramNormalProcessing(int knr, int fg)
knr
- Knotennummerfg
- Funktionsgruppeboolean normalProcessing(Set<NodeFgPair> nonNormalProcessing, int knr, int fg)
nonNormalProcessing
- Set der Ausnahmen (die nicht normal behandelt werden sollen)knr
- Knotennummerfg
- Funktionsgruppepublic void addSendEntry(Integer knr, Integer fg, boolean normalProcessing, int[] destinations, Osi7SingleTelegramConverter converter)
knr
- Knotennummer, für den der Eintrag giltfg
- Funktionsgruppe, wenn Null, dann zu allen FunktionsgruppennormalProcessing
- Ob auch zum Originalziel gesendet wird (true). Bei false wird dies unterdrückt.destinations
- Ziele, an die gesendet werden sollconverter
- Telegrammkonverter auf OSI7-Ebene. Wenn keine Konvertierung erfolgen soll wird null angegeben.public Map<Osi7SingleTelegramConverter,Set<Integer>> getSendRedirectionMap(int knr, int fg)
knr
- Knotennummerfg
- Funktionsgruppepublic boolean sendTelegramToPrimalTarget(int knr, int fg)
knr
- Knotennummerfg
- Funktionsgruppeprivate void addEntry(Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> entries, NodeFgPair nodeFgPair, int[] destinations, Osi7SingleTelegramConverter converter)
entries
- Map, die ergänzt werden soll.nodeFgPair
- Knoten-Funktionsgruppen Paar.destinations
- Zielknoten, an die weitergeleitet werden soll.converter
- OSI7-Konverter, der verwendet werden soll (bei null keiner).public void printAllEntries()
private void printEntries(Map<NodeFgPair,Map<Osi7SingleTelegramConverter,Set<Integer>>> entries, Set<NodeFgPair> noNormalProcessing)
entries
- Map, in der für die Knotennummer/Funktionsgruppenpaare Maps für die
Maps von Telegrammkonvertern und Zielen, an die Telegramme weitergeleitet
werden sollen, aufgeführt sindnoNormalProcessing
- Set, in dem die Knotennummer/Funktionsgruppenpaare aufgeführt sind, für die
keine normale Behandlung erfolgen soll.private String printDestinations(Set<Integer> destinations)
destinations
- Knotennummernprivate String getLocationDistance(int nodeNumber)