Interface LowLevelCommunicationInterface

  • All Known Implementing Classes:
    LowLevelCommunication

    public interface LowLevelCommunicationInterface
    Dieses Interface legt die öffentlichen Methoden der unteren Kommunikationsebene von Datenverteilerverbindungen fest.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void connect​(java.lang.String mainAddress, int subAddress)
      Diese Methode baut eine Kommunikationsverbindung zu den angegebenen Adressen auf.
      void disableEncryption()
      Deaktiviert die Verschlüsselung
      void disconnect​(boolean error, java.lang.String message, DataTelegram terminationTelegram)
      Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.
      void enableEncryption​(SrpTelegramEncryption encryption)
      Aktiviert die Verschlüsselung
      ConnectionInterface getConnectionInterface()
      Gibt den Repräsentant der Verbindung zurück
      default EncryptionStatus getEncryptionStatus()
      Gibt den Verschlüsselungsstatus zurück
      java.lang.String getSendBufferState()
      Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers
      boolean isNotConnected()
      Gibt als Information zurück, ob die Kommunikationsverbindung unterbrochen ist.
      void send​(DataTelegram telegram)
      Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn ein Telegramm gesendet werden soll.
      void send​(DataTelegram[] telegrams)
      Fügt mehrere Telegramme in die Sendetabelle ein.
      void sendDirect​(DataTelegram telegram)
      Sendet ein Telegramm direkt, wobei die SendeQueue umgangen wird.
      void sendDirect​(java.util.Collection<DataTelegram> telegrams)
      Sendet Telegramme direkt, wobei die SendeQueue umgangen wird.
      void setHighLevelComponent​(HighLevelCommunicationCallbackInterface highLevelComponent)
      Setzt die Interpretationsschicht dieser Komponente für den internen Datenaustausch.
      void setRemoteName​(java.lang.String name)
      Diese Methode setzt den Namen des Kommunikationspartners, der für Fehlermeldungen etc. verwendet wird.
      void updateKeepAliveParameters​(long keepAliveSendTimeOut, long keepAliveReceiveTimeOut)
      Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Keepalive-Parameter-Verhandlung erfolgreich abgeschlossen ist und setzt somit die Timeouts des Keepaliveprozesses.
      void updateThroughputParameters​(float throughputControlSendBufferFactor, long throughputControlInterval, int minimumThroughput)
      Diese Methode setzt die Parameter für die Durchsatzprüfung.
    • Method Detail

      • connect

        void connect​(java.lang.String mainAddress,
                     int subAddress)
              throws ConnectionException
        Diese Methode baut eine Kommunikationsverbindung zu den angegebenen Adressen auf. Sie wird von der Protokollschicht DaV-DAF während der Verbindungsinitialisierung aufgerufen.
        Parameters:
        mainAddress - Adresse des Kommunikationspartners dieser Verbindung.
        subAddress - Subadresse der Adresse.
        Throws:
        ConnectionException - Falls die Verbindung nicht hergestellt werden kann.
      • disconnect

        void disconnect​(boolean error,
                        java.lang.String message,
                        DataTelegram terminationTelegram)
        Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.
        Parameters:
        error - Besagt, ob es sich um eine Terminierung mit Fehler handelt.
        message - der Fehlertext
        terminationTelegram -
      • isNotConnected

        boolean isNotConnected()
        Gibt als Information zurück, ob die Kommunikationsverbindung unterbrochen ist.
        Returns:
        true = Es besteht keine Verbindung; false = sonst
      • send

        void send​(DataTelegram telegram)
        Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn ein Telegramm gesendet werden soll.
        Parameters:
        telegram - Das zu versendende Telegramm.
      • setHighLevelComponent

        void setHighLevelComponent​(HighLevelCommunicationCallbackInterface highLevelComponent)
        Setzt die Interpretationsschicht dieser Komponente für den internen Datenaustausch. Erst nach Aufruf dieser Methode von der Protokollschicht DaV-DAF werden die Kommunikations-Threads gestartet, weil sonst keine Telegramme interpretiert oder weitergeleitet werden können.
        Parameters:
        highLevelComponent - Komponente, die benachrichtigt werden muss, wenn neue Nachrichten empfangen werden.
      • updateKeepAliveParameters

        void updateKeepAliveParameters​(long keepAliveSendTimeOut,
                                       long keepAliveReceiveTimeOut)
        Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Keepalive-Parameter-Verhandlung erfolgreich abgeschlossen ist und setzt somit die Timeouts des Keepaliveprozesses.
        Parameters:
        keepAliveSendTimeOut - Sendekeepalivetimeout
        keepAliveReceiveTimeOut - Empfangekeepalivetimeout
      • updateThroughputParameters

        void updateThroughputParameters​(float throughputControlSendBufferFactor,
                                        long throughputControlInterval,
                                        int minimumThroughput)
        Diese Methode setzt die Parameter für die Durchsatzprüfung. Sie wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Parameter für die Durchsatzprüfung erfolgreich verhandelt wurden.
        Parameters:
        throughputControlSendBufferFactor - Füllungsgrad des Sendepuffers als Faktor zwischen 0 und 1, ab dem die Durchsatzprüfung anfängt zu arbeiten.
        throughputControlInterval - Zeit zwischen zwei Durchsatzprüfungen in Millisekunden
        minimumThroughput - Minimal zulässiger Verbindungsdurchsatz in Bytes pro Sekunde
      • getConnectionInterface

        ConnectionInterface getConnectionInterface()
        Gibt den Repräsentant der Verbindung zurück
        Returns:
        Repräsentant der Verbindung
      • getSendBufferState

        java.lang.String getSendBufferState()
        Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers
        Returns:
        Zustand des Sendepuffers
      • setRemoteName

        void setRemoteName​(java.lang.String name)
        Diese Methode setzt den Namen des Kommunikationspartners, der für Fehlermeldungen etc. verwendet wird.
        Parameters:
        name - Name oder Identifikation des Kommunikationspartners
      • enableEncryption

        void enableEncryption​(SrpTelegramEncryption encryption)
        Aktiviert die Verschlüsselung
        Parameters:
        encryption - Verschlüsselung
      • disableEncryption

        void disableEncryption()
        Deaktiviert die Verschlüsselung
      • getEncryptionStatus

        default EncryptionStatus getEncryptionStatus()
        Gibt den Verschlüsselungsstatus zurück
        Returns:
        den Verschlüsselungsstatus
      • sendDirect

        void sendDirect​(DataTelegram telegram)
        Sendet ein Telegramm direkt, wobei die SendeQueue umgangen wird. Das Telegramm muss versendet wurden sein, wenn die Methode verlassen wird
        Parameters:
        telegram - Telegramm
      • sendDirect

        void sendDirect​(java.util.Collection<DataTelegram> telegrams)
        Sendet Telegramme direkt, wobei die SendeQueue umgangen wird. Das Telegramm muss versendet wurden sein, wenn die Methode verlassen wird
        Parameters:
        telegrams - Telegramme