Class TLSoIPFrame


  • public class TLSoIPFrame
    extends java.lang.Object
    Telegrammrahmen für ein TLSoIP-Telegramm, welches aus Header und Daten besteht.

    Genaue Beschreibung des Aufbaus siehe TLS 2009 "Datenübertragung über TCP/IP (TLSoIP)".

    • Constructor Summary

      Constructors 
      Constructor Description
      TLSoIPFrame​(int seqNum, byte telType, byte[] data)
      Legt ein TLSoIP Telegramm an.
      TLSoIPFrame​(java.nio.ByteBuffer readBuffer)
      Spezieller Konstruktor, der aus dem übergebenen ByteBuffer lediglich die HeaderDaten eines TLSoIP-Telegramms ausliest.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addData​(java.nio.ByteBuffer readBuffer)
      Liest aus dem übergebenen Buffer die Bytes in den Datenteil des Telegramms.
      byte[] getData()
      Liefert nur den Nutzdatenanteil des Gesamttelegramms.
      byte[] getHeader()
      Liefert nur den Header des Gesamttelegramms.
      long getLen()
      Liefert die Länge der Nutzdaten in Anzahl Bytes.
      int getSeqNum()
      Liefert die aktuelle Sequenznummer (0-65535)
      byte getSync()
      Liefert das Startbyte des Headers eines TLSoIP-Telegramms.
      byte[] getTel()
      Liefert das komplette TLSoIP-Telegramm mit Header und Nutzdaten.
      static java.lang.String getTelTypeInfo​(int telType)
      Liefert eine textuelle Beschreibung der unterstützten Telegrammtypen.
      boolean isDataTel()
      Testet, ob es sich um ein Daten-Telegramm handelt.
      boolean isKeepAliveTel()
      Testet, ob es sich um ein KeepAlive-Telegramm handelt.
      boolean isQuittTel()
      Testet, ob es sich um ein Quittierungs-Telegramm handelt.
      boolean isTLSoIPFrame()
      Testet, ob es sich um ein gültiges TLSoIP-Telegramm handelt.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • FRAME_HEADER_LENGTH

        public static final int FRAME_HEADER_LENGTH
        Länge des Frame-Headers
        See Also:
        Constant Field Values
      • FRAME_HEADER_SYNC

        public static final byte FRAME_HEADER_SYNC
        Sync-Byte (0x68) des Frame-Headers
        See Also:
        Constant Field Values
      • TELTYPE_IB_V1

        public static final byte TELTYPE_IB_V1
        Telegrammtyp Datentelegramm Inselbus
        See Also:
        Constant Field Values
      • TELTYPE_KEEPALIVE

        public static final byte TELTYPE_KEEPALIVE
        Telegrammtyp Keep-Alive
        See Also:
        Constant Field Values
      • TELTYPE_QUITT

        public static final byte TELTYPE_QUITT
        Telegrammtyp Quittung
        See Also:
        Constant Field Values
    • Constructor Detail

      • TLSoIPFrame

        public TLSoIPFrame​(java.nio.ByteBuffer readBuffer)
        Spezieller Konstruktor, der aus dem übergebenen ByteBuffer lediglich die HeaderDaten eines TLSoIP-Telegramms ausliest.
        Parameters:
        readBuffer - Der Buffer mit den Headerdaten des Telegramms.
      • TLSoIPFrame

        public TLSoIPFrame​(int seqNum,
                           byte telType,
                           byte[] data)
        Legt ein TLSoIP Telegramm an.
        Parameters:
        seqNum - Sequenznummer des Telegramms.
        telType - Telegrammtyp (TELTYPE_IB_V1 , TELTYPE_KEEPALIVE , TELTYPE_QUITT )
        data - Wenn telType = TELTYPE_IB_V1, die Nutzdaten, sonst null.
    • Method Detail

      • getTelTypeInfo

        public static java.lang.String getTelTypeInfo​(int telType)
        Liefert eine textuelle Beschreibung der unterstützten Telegrammtypen.
        Parameters:
        telType - Code des Telegrammtyps.
        Returns:
        Textuelle Beschreibung der unterstützten Telegrammtypen.
      • addData

        public void addData​(java.nio.ByteBuffer readBuffer)
        Liest aus dem übergebenen Buffer die Bytes in den Datenteil des Telegramms. Die Anzahl der zu lesenden Bytes werden aus der Längenangabe des Headers ermittelt.

        Liegen nicht genügend Bytes im Buffer vor, wird der Datenteil auf null gesetzt.

        Parameters:
        readBuffer - Der Buffer mit den Nutzdaten des Telegramms.
      • getData

        public byte[] getData()
        Liefert nur den Nutzdatenanteil des Gesamttelegramms.
        Returns:
        Nutzdatenanteil des Gesamttelegramms oder leeres Array, wenn keine Nutzdaten enthalten sind.
      • getHeader

        public byte[] getHeader()
        Liefert nur den Header des Gesamttelegramms.
        Returns:
        Header des Gesamttelegramms oder leeres Array, wenn kein Header enthalten ist.
      • getLen

        public long getLen()
        Liefert die Länge der Nutzdaten in Anzahl Bytes.
        Returns:
        Länge des Datenblocks mit den Nutzdaten.
      • getSeqNum

        public int getSeqNum()
        Liefert die aktuelle Sequenznummer (0-65535)
        Returns:
        Aktuelle Sequenznummer (0-65535)
      • getSync

        public byte getSync()
        Liefert das Startbyte des Headers eines TLSoIP-Telegramms. Muss eigentlich immer 0x68 sein.
        Returns:
        Startbyte des Headers eines TLSoIP-Telegramms. Muss eigentlich immer 0x68 sein.
        See Also:
        isTLSoIPFrame()
      • getTel

        public byte[] getTel()
        Liefert das komplette TLSoIP-Telegramm mit Header und Nutzdaten.
        Returns:
        TLSoIP-Telegramm mit Header und Nutzdaten.
      • isDataTel

        public boolean isDataTel()
        Testet, ob es sich um ein Daten-Telegramm handelt.
        Returns:
        true, wenn Telegrammtyp == TELTYPE_IB_V1, sonst false.
      • isKeepAliveTel

        public boolean isKeepAliveTel()
        Testet, ob es sich um ein KeepAlive-Telegramm handelt.
        Returns:
        true, wenn Telegrammtyp == TELTYPE_KEEPALIVE, sonst false.
      • isQuittTel

        public boolean isQuittTel()
        Testet, ob es sich um ein Quittierungs-Telegramm handelt.
        Returns:
        true, wenn Telegrammtyp == TELTYPE_QUITT, sonst false.
      • isTLSoIPFrame

        public boolean isTLSoIPFrame()
        Testet, ob es sich um ein gültiges TLSoIP-Telegramm handelt.
        Returns:
        true, wenn erstes Byte im Header == FRAME_HEADER_SYNC, sonst false.