Class ConnectionMap<T extends ServerHighLevelCommunication>

java.lang.Object
de.bsvrz.dav.dav.main.ConnectionMap<T>
Direct Known Subclasses:
ApplicationConnectionMap, TransmitterConnectionMap

public class ConnectionMap<T extends ServerHighLevelCommunication> extends Object
Eine Map von ID zu Verbindung
  • Constructor Details

    • ConnectionMap

      public ConnectionMap()
  • Method Details

    • getConnection

      public T getConnection(long id)
      Gibt die Verbindung zum Datenverteiler mit der angegebenen ID zurück
      Parameters:
      id - Datenverteiler-ID
      Returns:
      die Verbindung zum Datenverteiler mit der angegebenen ID, oder null falls nicht vorhanden
    • addUnsortedConnection

      public void addUnsortedConnection(T communication)
      Fügt eine Verbindung hinzu, deren ID unbekannt ist
      Parameters:
      communication - Verbindung
    • putConnection

      public void putConnection(long id, T communication)
      Merkt sich die angegebene Verbindung unter der angegebenen ID. Die ID wird separat übergeben, da ServerHighLevelCommunication.getId() die verbundene ID erst zurückliefert, wenn die Authentifizierung ausreichend abgeschlossen wurde. Für ausgehende Verbindungen wird der Datenverteiler mit der erwarteten ID sofort eingetragen, damit die Verbindung immer der konfigurierten Verbindung zugeordnet werden kann. (Sollte die ID später nicht der erwarteten ID entsprechen, muss das OutgoingTransmitterConnections.updateId(T_T_HighLevelCommunication) korrigiert werden}. Besteht berets eine Verbindung mit dieser ID, wird diese überschrieben.
      Parameters:
      id - ID
      communication - Verbindung
    • removeConnection

      public boolean removeConnection(long id, T communication)
      Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)
      Parameters:
      id - ID der Verbindung
      communication - zu entfernende Verbindung unter dieser ID (wenn die gespeicherte Verbindung unter dieser ID nicht dem parameter entspricht, tut diese Methode nichts. Damit wird verhindert, dass die falsche Verbindung entfernt wird)
      Returns:
      true falls erfolgreich entfernt, sonst false
    • removeConnection

      public boolean removeConnection(T communication)
      Entfernt eine Verbindung (zum Beispiel weil diese geschlossen wurde)
      Parameters:
      communication - zu entfernende Verbindung unter dieser ID (wenn die gespeicherte Verbindung unter dieser ID nicht dem parameter entspricht, tut diese Methode nichts. Damit wird verhindert, dass die falsche Verbindung entfernt wird)
      Returns:
      true falls erfolgreich entfernt, sonst false
    • getAllConnections

      public Collection<T> getAllConnections()
      Gibt alle bekannten (typischerweise aktiven) Verbindungen zurück. Diese Methode erzeugt einen nicht änderbaren, Schnappschuss über den iteriert werden kann, ohne das ConcurrentModificationExceptions auftreten können.
      Returns:
      alle aktiven Verbindungen
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clear

      public void clear()