public class HighLevelTransmitterManager extends java.lang.Object implements DistributionInterface, HighLevelTransmitterManagerInterface
Constructor and Description |
---|
HighLevelTransmitterManager(HighLevelConnectionsManagerInterface connectionsManager,
ListsManager listsManager) |
Modifier and Type | Method and Description |
---|---|
void |
addWay(T_T_HighLevelCommunication communication)
Es gibt einen neuen Weg, diese Nachricht wird im BestWayManager behandelt, siehe Dokumentation dort.
|
void |
connectionTerminated(T_T_HighLevelCommunication communication)
Wird bei einem Verbindungsabbruch aufgerufen
|
de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser |
fetchSrpVerifierAndAuthentication(java.lang.String userName)
Fragt von der Konfiguration bei einer eingehenden Authentifizierungsanfrage den SRP-Verifier für den angegebenen Benutzer ab
|
T_T_HighLevelCommunicationInterface |
getBestConnectionToRemoteDav(long remoteDav) |
de.bsvrz.dav.daf.main.authentication.ClientCredentials |
getClientCredentialsForAuthentication(long transmitterId)
Bestimmt das Benutzerpasswort das zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll.
|
de.bsvrz.dav.daf.main.authentication.ClientCredentials |
getClientCredentialsForAuthentication(java.lang.String userName,
long transmitterId)
Bestimmt das Benutzerpasswort das zur Authentifizierung beim angegebenen Datenverteiler mit dem angegebenen Benutzernamen benutzt werden soll.
|
long |
getMyTransmitterId() |
long[] |
getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
java.lang.String |
getUserNameForAuthentication(long connectedTransmitterId)
Bestimmt den Benutzername der zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll.
|
short |
getWeight(long transmitterId)
Gibt das Gewicht einer Verbindung zurück
|
void |
handleDataTelegram(T_T_HighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
Wird aufgerufen, wenn ein Datentelegramm eintrifft
|
void |
handleListsDeliveryUnsubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsDeliveryUnsubscription transmitterListsDeliveryUnsubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsSubscription(ServerHighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsUnsubscription(ServerHighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)
Eingehende Datenanmeldung
|
void |
handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt)
Bestätigung einer ausgehenden Datenanmeldung auf einem entfernten datenverteiler
|
void |
handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)
Eingehende Datenabmeldung
|
void |
throttleLoginAttempt(boolean passwordWasCorrect)
Wird bei jedem Login-Versuch aufgerufen und sorgt dafür, dass bei wiederholten Brute-Force-Angriffen der Login verzögert wird.
|
void |
updateBestWay(T_T_HighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterBestWayUpdate transmitterBestWayUpdate)
Wird bei einem BestWayUpdate-Telegramm aufgerufen
|
void |
updateDestinationRoute(long transmitterId,
RoutingConnectionInterface oldConnection,
RoutingConnectionInterface newConnection)
Wird aufgerufen, wenn die Kommunikation zu einem anderen Datenverteiler über eine andere Verbindung erfolgen sollte.
|
public HighLevelTransmitterManager(HighLevelConnectionsManagerInterface connectionsManager, ListsManager listsManager)
public long getMyTransmitterId()
public void connectionTerminated(T_T_HighLevelCommunication communication)
HighLevelTransmitterManagerInterface
connectionTerminated
in interface HighLevelTransmitterManagerInterface
public java.lang.String getUserNameForAuthentication(long connectedTransmitterId)
HighLevelTransmitterManagerInterface
getUserNameForAuthentication
in interface HighLevelTransmitterManagerInterface
connectedTransmitterId
- Objekt-ID des anderen Datenverteilers.public de.bsvrz.dav.daf.main.authentication.ClientCredentials getClientCredentialsForAuthentication(long transmitterId)
HighLevelTransmitterManagerInterface
getClientCredentialsForAuthentication
in interface HighLevelTransmitterManagerInterface
transmitterId
- Objekt-ID des anderen Datenverteilers.public de.bsvrz.dav.daf.main.authentication.ClientCredentials getClientCredentialsForAuthentication(java.lang.String userName, long transmitterId)
HighLevelTransmitterManagerInterface
getClientCredentialsForAuthentication
in interface HighLevelTransmitterManagerInterface
userName
- BenutzernametransmitterId
- Objekt-ID des anderen Datenverteilers.public short getWeight(long transmitterId)
HighLevelTransmitterManagerInterface
getWeight
in interface HighLevelTransmitterManagerInterface
transmitterId
- Datenverteiler, zu dem das Gewischt ermittelt werden sollpublic void handleDataTelegram(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
HighLevelTransmitterManagerInterface
handleDataTelegram
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram eintriffttransmitterDataTelegram
- Telegrampublic void handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate)
HighLevelTransmitterManagerInterface
handleListsUpdate
in interface HighLevelTransmitterManagerInterface
transmitterListsUpdate
- telegrampublic void handleListsDeliveryUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsDeliveryUnsubscription transmitterListsDeliveryUnsubscription)
HighLevelTransmitterManagerInterface
handleListsDeliveryUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsDeliveryUnsubscription
- telegrampublic void handleListsUnsubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription)
HighLevelTransmitterManagerInterface
handleListsUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsUnsubscription
- telegrampublic void handleListsSubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription)
HighLevelTransmitterManagerInterface
handleListsSubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsSubscription
- telegrampublic void handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)
HighLevelTransmitterManagerInterface
handleTransmitterSubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungsubscription
- Telegrampublic void handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)
HighLevelTransmitterManagerInterface
handleTransmitterUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungunsubscription
- Telegrampublic void handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt)
HighLevelTransmitterManagerInterface
handleTransmitterSubscriptionReceipt
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungreceipt
- Telegrampublic void addWay(T_T_HighLevelCommunication communication)
HighLevelTransmitterManagerInterface
addWay
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdepublic void updateBestWay(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterBestWayUpdate transmitterBestWayUpdate)
HighLevelTransmitterManagerInterface
updateBestWay
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterBestWayUpdate
- Telegrammpublic void throttleLoginAttempt(boolean passwordWasCorrect)
HighLevelTransmitterManagerInterface
throttleLoginAttempt
in interface HighLevelTransmitterManagerInterface
passwordWasCorrect
- War das Passwort korrekt? Ausgebremst wird zwar immer, aber nur wenn das passwort falsch war, hat das eine Auswirkung auf folgende Login-Vesuchepublic de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndAuthentication(java.lang.String userName) throws de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
HighLevelTransmitterManagerInterface
fetchSrpVerifierAndAuthentication
in interface HighLevelTransmitterManagerInterface
userName
- Benutzernamede.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
public void updateDestinationRoute(long transmitterId, RoutingConnectionInterface oldConnection, RoutingConnectionInterface newConnection)
DistributionInterface
updateDestinationRoute
in interface DistributionInterface
transmitterId
- ID des betroffenen Datenverteilers.oldConnection
- Verbindung über die bisher mit dem betroffenen Datenverteiler kommuniziert wurde.newConnection
- Verbindung über die in Zukunft mit dem betroffenen Datenverteiler kommuniziert werden soll.public long[] getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
public T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav(long remoteDav)