public class TLSoIPFrame
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
(package private) byte[] |
_data
Datenbytes
|
private byte[] |
_header
Headerbytes
|
private long |
_len
Längenangabe im Telegramm
|
private int |
_seqNum
Sequenznummer im Telegramm
|
private byte |
_sync
Sync-Byte im Telegramm
|
private byte |
_telType
Telegrammtyp-Byte im Telegramm
|
private static de.bsvrz.sys.funclib.debug.Debug |
DEBUG
DebugLogger für Debug-Ausgaben.
|
static int |
FRAME_HEADER_LENGTH
Länge des Frame-Headers
|
static byte |
FRAME_HEADER_SYNC
Sync-Byte (0x68) des Frame-Headers
|
static byte |
TELTYPE_IB_V1
Telegrammtyp Datentelegramm Inselbus
|
static byte |
TELTYPE_KEEPALIVE
Telegrammtyp Keep-Alive
|
static byte |
TELTYPE_QUITT
Telegrammtyp Quittung
|
| Constructor and Description |
|---|
TLSoIPFrame(java.nio.ByteBuffer readBuffer)
Spezieller Konstruktor, der aus dem übergebenen ByteBuffer lediglich die HeaderDaten eines TLSoIP-Telegramms
ausliest.
|
TLSoIPFrame(int seqNum,
byte telType,
byte[] data)
Legt ein TLSoIP Telegramm an.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addData(java.nio.ByteBuffer readBuffer)
Liest aus dem übergebenen Buffer die Bytes in den Datenteil des Telegramms.
|
private void |
constuctTLSoIPFrame(byte sync,
int seqNum,
byte telType,
byte[] data,
long len)
Privater "Konstruktor" zum Anlegen eines TLSoIP 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.
|
private void |
writeIntAsLowHighByte(byte[] array,
int index,
int data) |
private static final de.bsvrz.sys.funclib.debug.Debug DEBUG
public static final int FRAME_HEADER_LENGTH
public static final byte FRAME_HEADER_SYNC
public static final byte TELTYPE_IB_V1
public static final byte TELTYPE_KEEPALIVE
public static final byte TELTYPE_QUITT
private long _len
private int _seqNum
private byte _sync
private byte _telType
byte[] _data
private final byte[] _header
public TLSoIPFrame(java.nio.ByteBuffer readBuffer)
readBuffer - Der Buffer mit den Headerdaten des Telegramms.public TLSoIPFrame(int seqNum,
byte telType,
byte[] data)
seqNum - Sequenznummer des Telegramms.telType - Telegrammtyp (TELTYPE_IB_V1 , TELTYPE_KEEPALIVE , TELTYPE_QUITT )data - Wenn telType = TELTYPE_IB_V1, die Nutzdaten, sonst null.public static java.lang.String getTelTypeInfo(int telType)
telType - Code des Telegrammtyps.public void addData(java.nio.ByteBuffer readBuffer)
null gesetzt.
readBuffer - Der Buffer mit den Nutzdaten des Telegramms.private void constuctTLSoIPFrame(byte sync,
int seqNum,
byte telType,
byte[] data,
long len)
sync - Sync-Zeichen (normalerweise immer 0x68)seqNum - Sequenznummer des Telegramms.telType - Telegrammtyp (TELTYPE_IB_V1 , TELTYPE_KEEPALIVE , TELTYPE_QUITT )data - Wenn telType = TELTYPE_IB_V1, die Nutzdaten, sonst null.len - Wenn data != null, dann wird Länge aus tatsächlicher Nutzdatenlänge ermittelt, ansonsten
wird für len < 0 der Wert 0 und sonst der übergebene Wert eingestellt.public byte[] getData()
public byte[] getHeader()
public long getLen()
public int getSeqNum()
public byte getSync()
isTLSoIPFrame()public byte[] getTel()
public boolean isDataTel()
true, wenn Telegrammtyp == TELTYPE_IB_V1, sonst false.public boolean isKeepAliveTel()
true, wenn Telegrammtyp == TELTYPE_KEEPALIVE, sonst false.public boolean isQuittTel()
true, wenn Telegrammtyp == TELTYPE_QUITT, sonst false.public boolean isTLSoIPFrame()
true, wenn erstes Byte im Header == FRAME_HEADER_SYNC, sonst false.private void writeIntAsLowHighByte(byte[] array,
int index,
int data)