Class Server

  • All Implemented Interfaces:
    de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer, de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface

    public class Server
    extends de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
    implements de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface
    Klasse, die als OSI-2 Protokollmodul für den Server-seitigen Teil einer TLSoIP-Verbindung eingesetzt werden kann.

    Zur Verwendung dieses Protokollmoduls ist an dem jeweiligen Anschlusspunkt in der Konfiguration in der Attributgruppe "atg.anschlussPunkt" im Attribut "ProtokollTyp" der Wert "de.bsvrz.kex.tls.osi2osi3.osi2.tlsoip.Server" einzutragen.

    Im Parameter "atg.protokollEinstellungenStandard" des Anschlußpunkts können die Standardwerte für alle Verbindungen an diesem Anschlußpunkt eingestellt.

    Im Parameter "atg.protokollEinstellungenPrimary" der dem Anschlußpunkt zugeordneten AnschlußPunktKommunikationsPartner können individuelle Werte für die Verbindung zum jeweiligen Kommunikationspartner eingestellt werden.

    Die Parameterdatensätze können dabei mehrere Einträge enthalten, die jeweils aus einem Namen und einem Wert bestehen.

    Folgende Einträge werden unterstützt (siehe auch TLS 2009, Teil 2, Datenübertragung über TCP/IP (TLSoIP):

    Verbindungsparameter für beide Verbindungspartner:

    TLSoIP
    Name Defaultwert Beschreibung
    tlsoip.C_HelloDelay 30 Zeit [s], nach der ein Keep-Alive-Telegramm an die Gegenstelle versendet werden muss (0=ausgeschaltet für Testzwecke, 1...3599).
    tlsoip.C_HelloTimeout 60 Zeit [s], nach der spätestens ein Keep-Alive-Telegramm der Gegenstelle erwartet wird ( > C_HelloDelay der Gegenstelle), (0=ausgeschaltet für Testzwecke, 1...3600).
    tlsoip.C_ReceiptCount 10 Anzahl empfangener/gesendeter Telegramme, nach der spätestens ein Quittungstelegramm versendet werden muss/erwartet wird (1..255).
    tlsoip.C_ReceiptDelay 15 Zeit [s], nach der nach Erhalt eines Telegramms spätenstens ein Quittierungstelegramm an die Gegenstelle versendet werden muss (1..59).
    tlsoip.C_ReceiptTimeout 30 Zeit [s], nach der spätestens ein Quittungstelegramm von der Gegenstelle erwartet wird (> C_ReceiptDelay der Gegenstelle) (1..60).
    tlsoip.C_SecureConnection nein WIRD AKTUELL NICHT UNTERSTÜTZT (immer nein): Verbindung wird ohne SSL betrieben (nein), Verbindung wird mit SSL betrieben (ja).
    Verbindungsparameter für den Server:
    TLSoIP
    Name Defaultwert Beschreibung
    tlsoip.C_AcceptPort Dynamische und oder Private Ports (49152 bis 65535) gemäß IANA konfigurierbar, auf dem der Server anfragen entgegen nimmt.
    tlsoip.C_PortMode aktiv AKTUELL WIRD NUR "AKTIV" UNTERSTÜTZT!
    Portmodus (aktiv/passiv). Passiv nur für Mithörschnittstellen.
    tlsoip.C_ClientCount 1 AKTUELL WIRD NUR PortMode "AKTIV" mit ClientClount "1" UNTERSTÜTZT!
    Anzahl der unterstützten Ports (1..255), bei aktiven Ports immer gleich 1.
    tlsoip.C_ActivePort WIRD AKTUELL NICHT UNTERSTÜTZT!
    Bei passiven Ports: Zugeordneter aktiver Port.
    tlsoip.C_XmitRequest nein WIRD AKTUELL NICHT UNTERSTÜTZT!
    Bei passiven Ports: Übertragung der Telegramme in Abrufrichtung (ja/nein).
    tlsoip.C_XmitAnswer nein WIRD AKTUELL NICHT UNTERSTÜTZT!
    Bei passiven Ports: Übertragung der Telegramme in Antwortrichtung (ja/nein).
    tlsoip.C_TelTypeList WIRD AKTUELL NICHT UNTERSTÜTZT!
    Bei passiven Ports: Liste der erlaubten TelType (OSI-2 TLSoIP).

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Server.ActionType
      Definiert die Aktionscodes, die von den API-Methoden zur Steuerung des Protokoll-Threads versendet werden
    • Constructor Summary

      Constructors 
      Constructor Description
      Server()
      Default-Konstruktor, mit dem neue TLSoverIP-Server Protokolle instanziiert werden können.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void abort()
      Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.
      de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer.Link createLink​(int remoteAddress)
      Erzeugt ein neues Verbindungsobjekt.
      protected java.lang.String getDefaultProperty​(java.lang.String name)
      Liefert den Standard-Wert für eine Eigenschaft an einem Anschlusspunkt bei TLS over IP.
      int getMaximumDataSize()
      Bestimmt die maximale Anzahl von Nutzdatenbytes in einem OSI-2 Paket (Telegramm).
      boolean isStarted()
      Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methode start() aktiviert wurde.
      void setDavConnection​(de.bsvrz.dav.daf.main.ClientDavInterface connection)
      Nimmmt die Verbindung zum Datenverteiler entgegen.
      void setProperties​(java.util.Properties properties)
      Setzt neue Protokollparameter.
      void shutdown()
      Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll.
      void start()
      Initialisiert das Protokoll und startet den Protokoll-Thread
      java.lang.String toString()
      Gibt Informationen des Protokolls für Debugzwecke zurück.
      • Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer

        addEventListener, allowConnection, allowConnection, checkConnection, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface

        getProperty
    • Constructor Detail

      • Server

        public Server()
               throws java.io.IOException
        Default-Konstruktor, mit dem neue TLSoverIP-Server Protokolle instanziiert werden können.
        Throws:
        java.io.IOException - wenn eine nicht abgefangene Ausnahme auftritt.
    • Method Detail

      • abort

        public void abort()
        Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.
        Specified by:
        abort in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
      • createLink

        public de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer.Link createLink​(int remoteAddress)
        Erzeugt ein neues Verbindungsobjekt.
        Specified by:
        createLink in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Parameters:
        remoteAddress - OSI-2 Adresse des Kommunikationspartners
        Returns:
        Neues Verbindungsobjekt
      • isStarted

        public boolean isStarted()
        Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methode start() aktiviert wurde.
        Specified by:
        isStarted in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Returns:
        true, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false.
      • setDavConnection

        public void setDavConnection​(de.bsvrz.dav.daf.main.ClientDavInterface connection)
        Nimmmt die Verbindung zum Datenverteiler entgegen. Diese Methode wird vom OSI-3 Modul nach dem Erzeugen des OSI-2 Moduls durch den jeweiligen Konstruktor aufgerufen. Eine Implementierung eines Protokollmoduls kann sich bei Bedarf die übergebene Datenverteilerverbindung intern merken, um zu späteren Zeitpunkten auf die Datenverteiler-Applikationsfunktionen zuzugreifen.
        Specified by:
        setDavConnection in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Parameters:
        connection - Verbindung zum Datenverteiler
      • setProperties

        public void setProperties​(java.util.Properties properties)
        Setzt neue Protokollparameter. Alle Verbindungen werden mit den neuen Parametern reinitialisiert.
        Specified by:
        setProperties in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Overrides:
        setProperties in class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
        Parameters:
        properties - Neue Protokoll und Verbindungsparameter
      • shutdown

        public void shutdown()
        Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll.
        Specified by:
        shutdown in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
      • start

        public void start()
        Initialisiert das Protokoll und startet den Protokoll-Thread
        Specified by:
        start in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
      • toString

        public java.lang.String toString()
        Gibt Informationen des Protokolls für Debugzwecke zurück. Das genaue Format ist nicht festgelegt und kann sich ändern..
        Overrides:
        toString in class java.lang.Object
        Returns:
        Gibt Informationen des Protokolls für Debugzwecke zurück
      • getDefaultProperty

        protected java.lang.String getDefaultProperty​(java.lang.String name)
        Liefert den Standard-Wert für eine Eigenschaft an einem Anschlusspunkt bei TLS over IP.
        Specified by:
        getDefaultProperty in class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
        Parameters:
        name - der Eigenschaft.
        Returns:
        Standard-Wert der abgefragten Eigenschaft.
      • getMaximumDataSize

        public int getMaximumDataSize()
        Bestimmt die maximale Anzahl von Nutzdatenbytes in einem OSI-2 Paket (Telegramm).
        Returns:
        Maximale Anzahl Nutzdatenbytes.