public final class TransmitterConnectionMap
extends java.lang.Object
Klasse, die die offenen Verbindungen eines Datenverteilers speichert und diese den konfigurierten Verbindungen zuordnen kann, sowie den Status von Verbindungen abfragen kann.
Modifier and Type | Field and Description |
---|---|
private java.util.Set<TransmitterConnectionInfo> |
_activeExchangeConnections |
private boolean |
_closed |
private java.util.Map<java.lang.Long,T_T_HighLevelCommunication> |
_communicationsById |
private java.util.Set<java.lang.Long> |
_disabledTransmitterConnections |
private TransmitterConnectionInfo[] |
_infos |
private long |
_myTransmitterId |
Constructor and Description |
---|
TransmitterConnectionMap(TransmitterConnectionInfo[] infos,
long myTransmitterId)
Erstellt eine neue TransmitterConnectionMap
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Verhindert, dass weitere Verbindungen aufgebaut werden (markiert alle Verbindungen als deaktiviert)
|
java.util.Set<TransmitterConnectionInfo> |
getActiveExchangeConnections()
Gibt die Menge mit aktuell “benötigten” Ersatzverbindungen zurück (unabhängig davon, ob diese aufgebaut werden konnten oder nicht)
|
java.util.Collection<T_T_HighLevelCommunication> |
getAllConnections()
Gibt alle bekannten (typischerweise aktiven) Verbindungen zurück
|
java.util.Collection<TransmitterConnectionInfo> |
getAllInfos()
Gibt alle konfigurierten Verbindungen zurück
|
T_T_HighLevelCommunication |
getConnection(long id)
Gibt die Verbindung zum Datenverteiler mit der angegebenen ID zurück
|
T_T_HighLevelCommunication |
getConnection(TransmitterConnectionInfo info)
Gibt die Verbindugn zurück, die der angegebenen konfigurierten Verbindung entspicht
|
java.util.Set<java.lang.Long> |
getDisabledConnections()
Gibt die Menge mit den deaktivierten Datenverteilern zurück
|
TransmitterConnectionInfo |
getInfo(long connectedTransmitterId)
Bestimmt die konfigurierte Verbindung zu einer Datenverteiler-ID
|
TransmitterConnectionInfo |
getInfo(T_T_HighLevelCommunication transmitterCommunication)
Bestimmt die konfigurierte Verbindung zu einer aktiven Verbindung
|
long |
getMyTransmitterId()
Gibt die eigene Datenverteiler-ID zurück
|
TransmitterConnectionInfo |
getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
|
CommunicationStateAndMessage |
getState(long transmitterId)
Gibt den Verbindungszustand mit dem übergebenen Datenverteiler zurück
|
CommunicationStateAndMessage |
getState(TransmitterConnectionInfo info)
Gibt den Verbindungszustand einer konfigurierten Verbindung zurück
|
TransmitterConnectionInfo |
getTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.
|
boolean |
isDisabled(long transmitterId)
Gibt true zurück, wenn die Verbindung mit dem übergebenen Datenverteiler deaktiviert ist
|
private boolean |
isSelf(TransmitterInfo info)
Hilfsmethode, die überprüft, ob das übergebene
TransmitterInfo -Objekt dem eigenen Datenverteiler entspricht |
void |
putConnection(long id,
T_T_HighLevelCommunication communication)
Merkt sich die angegebene Verbindung unter der angegebenen ID.
|
void |
removeConnection(long id,
T_T_HighLevelCommunication transmitterCommunication)
Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)
|
private final TransmitterConnectionInfo[] _infos
private final long _myTransmitterId
private final java.util.Set<java.lang.Long> _disabledTransmitterConnections
private final java.util.Map<java.lang.Long,T_T_HighLevelCommunication> _communicationsById
private boolean _closed
private final java.util.Set<TransmitterConnectionInfo> _activeExchangeConnections
public TransmitterConnectionMap(TransmitterConnectionInfo[] infos, long myTransmitterId)
Erstellt eine neue TransmitterConnectionMap
infos
- Konfigurierte DatenverteilerverbindungenmyTransmitterId
- Eigene Datenverteiler-IDpublic long getMyTransmitterId()
Gibt die eigene Datenverteiler-ID zurück
public T_T_HighLevelCommunication getConnection(long id)
Gibt die Verbindung zum Datenverteiler mit der angegebenen ID zurück
id
- Datenverteiler-IDnull
falls nicht vorhandenpublic T_T_HighLevelCommunication getConnection(TransmitterConnectionInfo info)
Gibt die Verbindugn zurück, die der angegebenen konfigurierten Verbindung entspicht
info
- konfigurierte Verbindungnull
falls nicht vorhandenprivate boolean isSelf(TransmitterInfo info)
Hilfsmethode, die überprüft, ob das übergebene TransmitterInfo
-Objekt dem eigenen Datenverteiler entspricht
info
- Transmitter-Infopublic void putConnection(long id, T_T_HighLevelCommunication communication)
Merkt sich die angegebene Verbindung unter der angegebenen ID. Die ID wird separat übergeben, da T_T_HighLevelCommunication.getId()
die verbundene ID erst zurückliefert, wenn die Authentifizierung ausreichend abgeschlossen wurde. Für ausgehende Verbindungen wird der Datenverteiler mit der erwarteten ID sofort eingetragen, damit die Verbindung immer der konfigurierten Verbindung zugeordnet werden kann. (Sollte die ID später nicht der erwarteten ID entsprechen, muss das korrigiert werden. Besteht berets eine Verbindugn mti dieser ID, wird diese überschrieben.
id
- IDcommunication
- Verbindungpublic void removeConnection(long id, T_T_HighLevelCommunication transmitterCommunication)
Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)
id
- ID der VerbindungtransmitterCommunication
- zu entfernende Verbindung unter dieser ID (wenn die gespeicherte Verbindung unter dieser ID nicht dem parameter entspicht tut diese Methode nichts. Damit wird verhindert, dass die falsche Verbindung entfernt wird)public TransmitterConnectionInfo getInfo(T_T_HighLevelCommunication transmitterCommunication)
Bestimmt die konfigurierte Verbindung zu einer aktiven Verbindung
transmitterCommunication
- aktive Verbindungpublic TransmitterConnectionInfo getInfo(long connectedTransmitterId)
Bestimmt die konfigurierte Verbindung zu einer Datenverteiler-ID
connectedTransmitterId
- ID eines Datenverteilerspublic TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.
connectedTransmitterId
- ID des DAVpublic TransmitterConnectionInfo getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
connectedTransmitterId
- ID des DAVpublic CommunicationStateAndMessage getState(TransmitterConnectionInfo info)
Gibt den Verbindungszustand einer konfigurierten Verbindung zurück
info
- konfigurierte Verbindungpublic CommunicationStateAndMessage getState(long transmitterId)
Gibt den Verbindungszustand mit dem übergebenen Datenverteiler zurück
transmitterId
- Datenverteilerpublic java.util.Collection<T_T_HighLevelCommunication> getAllConnections()
Gibt alle bekannten (typischerweise aktiven) Verbindungen zurück
public java.util.Collection<TransmitterConnectionInfo> getAllInfos()
Gibt alle konfigurierten Verbindungen zurück
public boolean isDisabled(long transmitterId)
Gibt true zurück, wenn die Verbindung mit dem übergebenen Datenverteiler deaktiviert ist
transmitterId
- Datenverteiler-IDpublic java.util.Set<java.lang.Long> getDisabledConnections()
Gibt die Menge mit den deaktivierten Datenverteilern zurück
public java.util.Set<TransmitterConnectionInfo> getActiveExchangeConnections()
Gibt die Menge mit aktuell “benötigten” Ersatzverbindungen zurück (unabhängig davon, ob diese aufgebaut werden konnten oder nicht)
public void close()
Verhindert, dass weitere Verbindungen aufgebaut werden (markiert alle Verbindungen als deaktiviert)