Class LowLevelTransmitterConnections

java.lang.Object
de.bsvrz.dav.dav.main.LowLevelTransmitterConnections

public final class LowLevelTransmitterConnections
extends java.lang.Object
Diese Klasse ist die Low-level-Verwaltung für Datenverteiler-Datenverteiler-Verbindungen Sie kümmert sich um den Verbindungsaufbau und um dem Aufbau bei Ersatzverbindungen im Falle eines Fehlers.
  • Constructor Details

  • Method Details

    • startTransmitterConnections

      public void startTransmitterConnections​(java.lang.Class<? extends de.bsvrz.dav.daf.communication.lowLevel.ServerConnectionInterface> communicationProtocolClass, de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo[] transmitterConnectionInfos, java.util.Collection<java.lang.Long> disabledConnections) throws java.lang.InstantiationException, java.lang.IllegalAccessException, de.bsvrz.dav.daf.main.CommunicationError
      Startet den Aufbau der Dav-Dav-Verbindungen
      Parameters:
      communicationProtocolClass - Kommunikationsprotokoll-Klasse
      transmitterConnectionInfos - Konfigurierte Dav-Dav-Verbindungen
      disabledConnections - Deaktivierte Verbindungen
      Throws:
      java.lang.InstantiationException - Wenn das Kommunikationsprotokoll nicht erzeugt werden kann (benötigt öffentlichen, parameterlosen Konstruktor)
      java.lang.IllegalAccessException - Wenn das Kommunikationsprotokoll nicht erzeugt werden kann (benötigt öffentlichen, parameterlosen Konstruktor)
      de.bsvrz.dav.daf.main.CommunicationError - Wenn beim Aufbau der Serververbindung ein Fehler auftritt (z.B. Port bereits belegt)
    • getWeight

      public short getWeight​(long connectedTransmitterId)
      Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen. Die Information wird von der Wegverwaltung benutzt, wenn eine Verbindung bewertet wird.
      Parameters:
      connectedTransmitterId - ID des DAV
      Returns:
      Gewichtung der Verbindung
    • close

      public void close​(boolean error, java.lang.String message)
    • removeTransmitterConnection

      public void removeTransmitterConnection​(T_T_HighLevelCommunication transmitterCommunication)
      Entfernt die angegebene Verbindung, weil diese terminiert wurde
      Parameters:
      transmitterCommunication - Verbindung
    • getTransmitterConnections

      public java.util.Collection<T_T_HighLevelCommunication> getTransmitterConnections()
    • updateId

      public void updateId​(T_T_HighLevelCommunication communication)
    • getDisabledTransmitterConnections

      public java.util.Set<java.lang.Long> getDisabledTransmitterConnections()
    • setDisabledTransmitterConnections

      public void setDisabledTransmitterConnections​(java.util.Collection<java.lang.Long> disabledConnections)
    • enableConnection

      public void enableConnection​(long davId)
    • disableConnection

      public void disableConnection​(long davId)
    • getStateMap

      public java.util.Map<de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterInfo,​CommunicationStateAndMessage> getStateMap()
    • getTransmitterConnectionInfo

      public de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getTransmitterConnectionInfo​(long connectedTransmitterId)
    • getRemoteTransmitterConnectionInfo

      public de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getRemoteTransmitterConnectionInfo​(long connectedTransmitterId)
    • getTransmitterConnection

      public T_T_HighLevelCommunication getTransmitterConnection​(long transmitterId)