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 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
    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.
    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
  • Method Details

    • connectionTerminated

      void connectionTerminated​(T_T_HighLevelCommunication communication)
      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 - Benutzername
      transmitterId - 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.SrpNotSupportedException
      Fragt 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 eintrifft
      transmitterDataTelegram - 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 wurde
      transmitterListsDeliveryUnsubscription - 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 wurde
      transmitterListsUnsubscription - 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 wurde
      transmitterListsSubscription - telegram
    • handleTransmitterSubscription

      void handleTransmitterSubscription​(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)
      Eingehende Datenanmeldung
      Parameters:
      communication - Verbindung
      subscription - Telegram
    • handleTransmitterUnsubscription

      void handleTransmitterUnsubscription​(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)
      Eingehende Datenabmeldung
      Parameters:
      communication - Verbindung
      unsubscription - 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 - Verbindung
      receipt - Telegram
    • addWay

      void addWay​(T_T_HighLevelCommunication communication)
      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 wurde
      transmitterBestWayUpdate - 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