Class TLSoIPFrame
- java.lang.Object
-
- de.bsvrz.kex.tls.osi2osi3.osi2.tlsoip.TLSoIPFrame
-
public class TLSoIPFrame extends java.lang.ObjectTelegrammrahmen für ein TLSoIP-Telegramm, welches aus Header und Daten besteht.Genaue Beschreibung des Aufbaus siehe TLS 2009 "Datenübertragung über TCP/IP (TLSoIP)".
-
-
Field Summary
Fields Modifier and Type Field Description static intFRAME_HEADER_LENGTHLänge des Frame-Headersstatic byteFRAME_HEADER_SYNCSync-Byte (0x68) des Frame-Headersstatic byteTELTYPE_IB_V1Telegrammtyp Datentelegramm Inselbusstatic byteTELTYPE_KEEPALIVETelegrammtyp Keep-Alivestatic byteTELTYPE_QUITTTelegrammtyp Quittung
-
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 voidaddData(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.longgetLen()Liefert die Länge der Nutzdaten in Anzahl Bytes.intgetSeqNum()Liefert die aktuelle Sequenznummer (0-65535)bytegetSync()Liefert das Startbyte des Headers eines TLSoIP-Telegramms.byte[]getTel()Liefert das komplette TLSoIP-Telegramm mit Header und Nutzdaten.static java.lang.StringgetTelTypeInfo(int telType)Liefert eine textuelle Beschreibung der unterstützten Telegrammtypen.booleanisDataTel()Testet, ob es sich um ein Daten-Telegramm handelt.booleanisKeepAliveTel()Testet, ob es sich um ein KeepAlive-Telegramm handelt.booleanisQuittTel()Testet, ob es sich um ein Quittierungs-Telegramm handelt.booleanisTLSoIPFrame()Testet, ob es sich um ein gültiges TLSoIP-Telegramm handelt.
-
-
-
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, sonstnull.
-
-
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
nullgesetzt.- 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, sonstfalse.
-
isKeepAliveTel
public boolean isKeepAliveTel()
Testet, ob es sich um ein KeepAlive-Telegramm handelt.- Returns:
true, wenn Telegrammtyp ==TELTYPE_KEEPALIVE, sonstfalse.
-
isQuittTel
public boolean isQuittTel()
Testet, ob es sich um ein Quittierungs-Telegramm handelt.- Returns:
true, wenn Telegrammtyp ==TELTYPE_QUITT, sonstfalse.
-
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, sonstfalse.
-
-