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 Detail

      • 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