Class TransmitterDataTelegram
java.lang.Object
de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram
- All Implemented Interfaces:
QueueableTelegram
,DataTelegramInterface
- Direct Known Subclasses:
TransmitterDataTelegramV2
Telegramm zur Übertragung der Anwendungsdaten. Mit diesem Telegramm werden die Anwendungsdaten übertragen. Es kann in beide Richtungen benutzt
werden. Die Anwendungsdaten werden durch folgende Informationen gekennzeichnet: Konfigurationsobjekt (Objekt-Id), Attributgruppe, Aspekt,
Simulationsvariante. Die zu übertragenden Anwendungsdaten werden ab einer bestimmten Größe in mehrere Telegramme zerlegt. Um unnötige Redundanz zu
vermeiden, werden die Telegrammelemente Zeitstempel, Fehlerkennung sowie die Angaben zum Attributindikator nur im ersten Telegramm übertragen.
-
Field Summary
Fields inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
APPLICATION_DATA_TELEGRAM_TYPE, APPLICATION_REQUEST_TYPE, AUTHENTIFICATION_ANSWER_TYPE, AUTHENTIFICATION_REQUEST_TYPE, AUTHENTIFICATION_TEXT_ANSWER_TYPE, AUTHENTIFICATION_TEXT_REQUEST_TYPE, CLOSING_TYPE, COM_PARAMETER_ANSWER_TYPE, COM_PARAMETER_REQUEST_TYPE, DISABLE_ENCRYPTION_ANSWER_TYPE, DISABLE_ENCRYPTION_REQUEST_TYPE, ENCRYPTED_TYPE, KEEP_ALIVE_TYPE, length, priority, PROTOCOL_VERSION_ANSWER_TYPE, PROTOCOL_VERSION_REQUEST_TYPE, RECEIVE_SUBSCRIPTION_TYPE, RECEIVE_UNSUBSCRIPTION_TYPE, REQUEST_SENDER_DATA_TYPE, SEND_SUBSCRIPTION_TYPE, SEND_UNSUBSCRIPTION_TYPE, SRP_ANSWER_TYPE, SRP_REQUEST_TYPE, SRP_VALDIATE_ANSWER_TYPE, SRP_VALDIATE_REQUEST_TYPE, TELEGRAM_TIME_ANSWER_TYPE, TELEGRAM_TIME_REQUEST_TYPE, TERMINATE_ORDER_TYPE, TRANSMITTER_AUTHENTIFICATION_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_REQUEST_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_REQUEST_TYPE, TRANSMITTER_BEST_WAY_UPDATE_TYPE, TRANSMITTER_CLOSING_TYPE, TRANSMITTER_COM_PARAMETER_ANSWER_TYPE, TRANSMITTER_COM_PARAMETER_REQUEST_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_RECEIPT_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_TYPE, TRANSMITTER_DATA_TELEGRAM_TYPE, TRANSMITTER_DATA_TELEGRAM_V2_TYPE, TRANSMITTER_DATA_UNSUBSCRIPTION_TYPE, TRANSMITTER_KEEP_ALIVE_TYPE, TRANSMITTER_LISTS_DELIVERY_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_SUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UPDATE_2_TYPE, TRANSMITTER_LISTS_UPDATE_TYPE, TRANSMITTER_PROTOCOL_VERSION_ANSWER_TYPE, TRANSMITTER_PROTOCOL_VERSION_REQUEST_TYPE, TRANSMITTER_REQUEST_TYPE, TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE, TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE, TRANSMITTER_TERMINATE_ORDER_TYPE, type
-
Constructor Summary
ConstructorsConstructorDescriptionTransmitterDataTelegram
(ApplicationDataTelegram applicationDataTelegram, byte direction) Erzeugt neues TransmitterDataTelegramTransmitterDataTelegram
(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction) TransmitterDataTelegram
(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte prior, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction) -
Method Summary
Modifier and TypeMethodDescriptionfinal ApplicationDataTelegram
Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.long
Gibt die ID der ursprünglich sendenden Applikation zurück, 0 falls der Datenverteiler oder die lokale Konfiguration gesendet hat, -1 falls die sendende Applikation unbekannt ist (wegen alter Software).final byte[]
Gibt den Indikator zu den einzelnen Attributen der Attributgruppe zurück.final BaseSubscriptionInfo
Gibt die Basisanmeldeinformationen zurück.final byte[]
getData()
Gibt den Bytestrom dieses Telegramms zurück.final long
Gibt die Laufende Nummer des Datensatzes zurück.final long
Gibt die Zeit der Datensätze an.final boolean
Gibt an, ob Datensätze nachgeliefert worden sind.final byte
Gibt die Datenflußrichtung dieses Telegramms zurück.final byte
Gibt die Fehlerinformationen zurück.final int
Gibt die Telegrammnummer dieses Teiltelegramms zurückfinal int
Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.final String
Gibt eine String-Repräsentation dieses Datensatzes zurück.void
read
(DataInputStream in) Liest ein Telegramm vom übergegebenen DataInputStream.final void
setDataIndex
(long dataNumber) Setzt den Datensatz-Indexfinal void
setDirection
(byte newDirection) Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.void
write
(DataOutputStream out) Schreibt ein Telegramm in den übergegebenen DataOutputStream.Methods inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
-
Constructor Details
-
TransmitterDataTelegram
public TransmitterDataTelegram() -
TransmitterDataTelegram
Erzeugt neues TransmitterDataTelegram- Parameters:
applicationDataTelegram
- Zerlegtes ApplicationDataTelegramdirection
- Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
-
TransmitterDataTelegram
public TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction) - Parameters:
baseSubscriptionInfo
- BasisanmeldeinformationdataNumber
- Laufende Nummer des DatensatzesdelayedDataFlag
- Sind die Daten nachgelieferterrorFlag
- Fehlerkennung der Anwendungsdaten. 0: Daten vorhanden (kein fehler). 1: Quelle vorhanden aber Daten noch nicht lieferbar. 2: Quelle nicht vorhanden. 3: Keine Rechte 8: Unzulässige Anmeldung(2 quellen, 2 Senken, 1 Quelle 1 senke und umgekehrt)attributesIndicator
- gibt an ob sich ein Attribut geändert hatdata
- Teil des Datensatzes als BytestromtotalTelegramCount
- Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurdetelegramNumber
- Index des TeiltelegrammsdataTime
- Zeitstempel des Telegrammsdirection
- Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
-
TransmitterDataTelegram
public TransmitterDataTelegram(BaseSubscriptionInfo baseSubscriptionInfo, long dataNumber, boolean delayedDataFlag, byte errorFlag, byte[] attributesIndicator, byte prior, byte[] data, int totalTelegramCount, int telegramNumber, long dataTime, byte direction) - Parameters:
baseSubscriptionInfo
- BasisanmeldeinformationdataNumber
- Laufende Nummer des DatensatzesdelayedDataFlag
- Sind die Daten nachgelieferterrorFlag
- Fehlerkennung der Anwendungsdaten. 0: Daten vorhanden (kein fehler). 1: Quelle vorhanden aber Daten noch nicht lieferbar. 2: Quelle nicht vorhanden. 3: Keine Rechte 8: Unzulässige Anmeldung(2 quellen, 2 Senken, 1 Quelle 1 senke und umgekehrt)attributesIndicator
- gibt an ob sich ein Attribut geändert hatprior
- Priorität des Telegrammsdata
- Teil des Datensatzes als BytestromtotalTelegramCount
- Anzahl aller Teiltelegramme, in die der gesamte Datensatz zerlegt wurdetelegramNumber
- Index des TeiltelegrammsdataTime
- Zeitstempel des Telegrammsdirection
- Information über der Datenflussesrichtung 0: Sender zum Zentraldatenverteiler 1: Zentraldatenverteiler an die Empfänger
-
-
Method Details
-
getBaseSubscriptionInfo
Gibt die Basisanmeldeinformationen zurück.- Specified by:
getBaseSubscriptionInfo
in interfaceDataTelegramInterface
- Returns:
- Basisanmeldeinformationen
-
getDelayedDataFlag
public final boolean getDelayedDataFlag()Gibt an, ob Datensätze nachgeliefert worden sind. True: verspätet, false: nicht verspätet- Returns:
- True wenn Daten nachgeliefert sind.
-
getDataNumber
public final long getDataNumber()Gibt die Laufende Nummer des Datensatzes zurück.- Specified by:
getDataNumber
in interfaceDataTelegramInterface
- Returns:
- Laufende Nummer des Datensatzes
-
getDataTime
public final long getDataTime()Gibt die Zeit der Datensätze an.- Returns:
- Zeit der Datensätze
-
getErrorFlag
public final byte getErrorFlag()Gibt die Fehlerinformationen zurück.- Returns:
- Fehlerinformationen
-
getAttributesIndicator
public final byte[] getAttributesIndicator()Gibt den Indikator zu den einzelnen Attributen der Attributgruppe zurück.- Returns:
- Indikator
-
getTotalTelegramsCount
public final int getTotalTelegramsCount()Gibt die Gesamtanzahl der Teiltelegramme des ursprünglichen Datensatzes zurück.- Specified by:
getTotalTelegramsCount
in interfaceDataTelegramInterface
- Returns:
- Gesamtanzahl der Teiltelegramme
-
getTelegramNumber
public final int getTelegramNumber()Gibt die Telegrammnummer dieses Teiltelegramms zurück- Specified by:
getTelegramNumber
in interfaceDataTelegramInterface
- Returns:
- Telegrammnummer
-
getData
public final byte[] getData()Gibt den Bytestrom dieses Telegramms zurück.- Returns:
- Bytestrom
-
getDirection
public final byte getDirection()Gibt die Datenflußrichtung dieses Telegramms zurück.- Returns:
- Datenflußrichtung
-
setDirection
public final void setDirection(byte newDirection) Setzt die Datenflußrichtung dieses Telegramms auf den neuen Wert.- Parameters:
newDirection
- neue Richtung
-
setDataIndex
public final void setDataIndex(long dataNumber) Setzt den Datensatz-Index- Parameters:
dataNumber
- Datensatz-Index
-
getApplicationDataTelegram
Erstellt ein Applikations-kompatibles Telegramm aus diesem Objekt.- Returns:
- Applikations kompatibles Telegramm
-
parseToString
Description copied from class:DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.- Specified by:
parseToString
in classDataTelegram
- Returns:
- Eine String-Repräsentation dieses Datensatzes.
-
write
Description copied from class:DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.- Specified by:
write
in classDataTelegram
- Parameters:
out
- Der DataOutputStream.- Throws:
IOException
- Falls der Datensatz nicht in den Stream geschrieben werden kann.
-
read
Description copied from class:DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.- Specified by:
read
in classDataTelegram
- Parameters:
in
- Der DataInputStream.- Throws:
IOException
- Falls der Datensatz nicht aus dem Stream gelesen werden kann.
-
getApplicationId
public long getApplicationId()Gibt die ID der ursprünglich sendenden Applikation zurück, 0 falls der Datenverteiler oder die lokale Konfiguration gesendet hat, -1 falls die sendende Applikation unbekannt ist (wegen alter Software). Diese alte Version des Telegramms liefert immer -1 zurück.- Returns:
- Applikations-ID
-