Package de.bsvrz.dav.dav.main
Interface HighLevelTransmitterManagerInterface
- All Known Implementing Classes:
HighLevelTransmitterManager
public interface HighLevelTransmitterManagerInterface
Interface für die Verwaltung der Dav-Dav_Verbindungen
-
Method Summary
Modifier and Type Method 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 aufgerufende.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 abde.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.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ückvoid
handleDataTelegram(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
Wird aufgerufen, wenn ein Datentelegramm eintrifftvoid
handleListsDeliveryUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsDeliveryUnsubscription transmitterListsDeliveryUnsubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dortvoid
handleListsSubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dortvoid
handleListsUnsubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dortvoid
handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate)
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dortvoid
handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)
Eingehende Datenanmeldungvoid
handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt)
Bestätigung einer ausgehenden Datenanmeldung auf einem entfernten datenverteilervoid
handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)
Eingehende Datenabmeldungvoid
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
-
Method Details
-
connectionTerminated
Wird bei einem Verbindungsabbruch aufgerufen- Parameters:
communication
-
-
getUserNameForAuthentication
java.lang.String getUserNameForAuthentication(long connectedTransmitterId)Bestimmt den Benutzername der zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll. Wenn der Benutzername in der Topologie nicht vorgegeben ist, dann wird der Standardbenutzername des Datenverteilers benutzt.- Parameters:
connectedTransmitterId
- Objekt-ID des anderen Datenverteilers.- Returns:
- Benutzername für die Authentifizierung beim anderen Datenverteiler.
-
getClientCredentialsForAuthentication
@Nullable de.bsvrz.dav.daf.main.authentication.ClientCredentials getClientCredentialsForAuthentication(long transmitterId)Bestimmt das Benutzerpasswort das zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll. Wenn der Benutzername in der Topologie nicht vorgegeben ist, dann wird das Passwort des Standardbenutzers des Datenverteilers zurückgegeben.- Parameters:
transmitterId
- Objekt-ID des anderen Datenverteilers.- Returns:
- Passwort für die Authentifizierung beim anderen Datenverteiler.
-
getClientCredentialsForAuthentication
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.- Parameters:
userName
- BenutzernametransmitterId
- Objekt-ID des anderen Datenverteilers.- Returns:
- Passwort für die Authentifizierung beim anderen Datenverteiler.
-
fetchSrpVerifierAndAuthentication
de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndAuthentication(java.lang.String userName) throws de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedExceptionFragt von der Konfiguration bei einer eingehenden Authentifizierungsanfrage den SRP-Verifier für den angegebenen Benutzer ab- Parameters:
userName
- Benutzername- Returns:
- SRP-Überprüfugnscode
- Throws:
de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
-
getWeight
short getWeight(long transmitterId)Gibt das Gewicht einer Verbindung zurück- Parameters:
transmitterId
- Datenverteiler, zu dem das Gewischt ermittelt werden soll- Returns:
- Gewicht einer Verbindung
-
handleDataTelegram
void handleDataTelegram(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)Wird aufgerufen, wenn ein Datentelegramm eintrifft- Parameters:
communication
- Verbindung über die das Telegram eintriffttransmitterDataTelegram
- Telegram
-
handleListsUpdate
void handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate)Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort- Parameters:
transmitterListsUpdate
- telegram
-
handleListsDeliveryUnsubscription
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- Parameters:
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsDeliveryUnsubscription
- telegram
-
handleListsUnsubscription
void handleListsUnsubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription)Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort- Parameters:
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsUnsubscription
- telegram
-
handleListsSubscription
void handleListsSubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription)Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort- Parameters:
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsSubscription
- telegram
-
handleTransmitterSubscription
void handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)Eingehende Datenanmeldung- Parameters:
communication
- Verbindungsubscription
- Telegram
-
handleTransmitterUnsubscription
void handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)Eingehende Datenabmeldung- Parameters:
communication
- Verbindungunsubscription
- Telegram
-
handleTransmitterSubscriptionReceipt
void handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt)Bestätigung einer ausgehenden Datenanmeldung auf einem entfernten datenverteiler- Parameters:
communication
- Verbindungreceipt
- Telegram
-
addWay
Es gibt einen neuen Weg, diese Nachricht wird im BestWayManager behandelt, siehe Dokumentation dort.- Parameters:
communication
- Verbindung über die das Telegram gesendet wurde
-
updateBestWay
void updateBestWay(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterBestWayUpdate transmitterBestWayUpdate)Wird bei einem BestWayUpdate-Telegramm aufgerufen- Parameters:
communication
- Verbindung über die das Telegram gesendet wurdetransmitterBestWayUpdate
- Telegramm
-
throttleLoginAttempt
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.- Parameters:
passwordWasCorrect
- War das Passwort korrekt? Ausgebremst wird zwar immer, aber nur wenn das passwort falsch war, hat das eine Auswirkung auf folgende Login-Vesuche
-