public class T_A_HighLevelCommunication extends java.lang.Object implements T_A_HighLevelCommunicationInterface, HighLevelCommunicationCallbackInterface
Diese Klasse stellt eine Verbindung vom Datenverteiler zur Applikation dar. Über diese Verbindung können Telegramme an eine Applikation verschickt werden.
| Constructor and Description |
|---|
T_A_HighLevelCommunication(ServerConnectionProperties properties,
HighLevelApplicationManager applicationManager,
LowLevelConnectionsManagerInterface lowLevelConnectionsManager,
boolean waitForConfiguration)
Erzeugt ein neues Objekt mit den gegebenen Parametern.
|
| Modifier and Type | Method and Description |
|---|---|
void |
continueAuthentication()
Diese Methode wird von der Verbindungsverwaltung aufgerufen, sobald die Konfiguration vorhanden ist, um zu signalisieren, dass eine blockierte Authentifizierung weiter bearbeitet werden kann: Steht eine Authentifizierungsschlüsselanfrage an, während die Konfiguration noch nicht vorhanden ist, wird die Antwort blockiert bis die Konfiguration bereit ist.
|
void |
disconnected(boolean error,
java.lang.String message)
Wird von der unteren Kommunikationsschicht in Fehlersituationen zum Abbruch der Kommunikationsverbindung aufgerufen.
|
java.lang.String |
getApplicationName()
Gibt den Namen der Applikation zurück.
|
java.lang.String |
getApplicationTypePid()
Gibt den Typ der Applikation zurück.
|
long |
getConfigurationId()
Gibt die Id der Konfiguration zurück.
|
long |
getConnectionCreatedTime()
Zeitpunkt, an dem das Objekt erstellt wurde und somit eine Verbindung zum DaV bestand.
|
long |
getId()
Diese Methode wird von der Verbindungsverwaltung aufgerufen, um die ID der verbundenen Applikation zu erhalten.
|
java.lang.String |
getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers aus der LowLevelCommunication.
|
long |
getTelegramTime(long maxWaitingTime)
Diese Methode wird von der Verbindungsverwaltung aufgerufen.
|
UserLogin |
getUserLogin()
Gibt die ID des verbundenen Benutzers zurück.
|
boolean |
isConfiguration()
Gibt zurück, ob es sich um die Konfiguration handelt.
|
void |
sendData(ApplicationDataTelegram telegram) |
void |
sendData(ApplicationDataTelegram[] telegrams) |
void |
sendData(ApplicationDataTelegram telegram,
boolean toCentralDistributor)
Versendet ein Daten-Telegramm über diese Verbindung
|
void |
setUserLogin(UserLogin userLogin)
Setzt den eingeloggten Benutzer (nur für Testzwecke)
|
void |
terminate(boolean error,
java.lang.String message)
Terminiert die Kommunikationsverbindung.
|
void |
terminate(boolean error,
java.lang.String message,
DataTelegram terminationTelegram) |
java.lang.String |
toString() |
void |
triggerSender(BaseSubscriptionInfo data,
byte state)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, um eine Sendesteuerung an die Applikation weiterzuleiten.
|
void |
update(DataTelegram telegram)
Wird von der unteren Kommunikationsschicht nach Empfang eines Telegramms aufgerufen.
|
void |
updateConfigData(SendDataObject receivedData)
Wenn ein neues Konfigurationstelegramm angekommen ist, wird es an die Verwaltung weitergeleitet.
|
public T_A_HighLevelCommunication(ServerConnectionProperties properties, HighLevelApplicationManager applicationManager, LowLevelConnectionsManagerInterface lowLevelConnectionsManager, boolean waitForConfiguration)
Erzeugt ein neues Objekt mit den gegebenen Parametern.
properties - stellt die Parameter einer Verbindung zwischen zwei ServernlowLevelConnectionsManager - waitForConfiguration - true: ,false:public final long getTelegramTime(long maxWaitingTime)
throws CommunicationError
ServerHighLevelCommunicationDiese Methode wird von der Verbindungsverwaltung aufgerufen. Ein Telegramm TelegramTimeRequest wird erzeugt und zur Applikation gesendet. Danach wird auf die Antwort TelegramTimeAnswer gewartet. Wenn die Antwort nicht innerhalb der angegebenen maximalen Wartezeit angekommen ist, wird eine Ausnahme erzeugt.
getTelegramTime in interface ServerHighLevelCommunicationmaxWaitingTime - Maximale Zeit, die auf eine Antwort gewartet wird.-1, wenn nicht innnerhalb der maximalen Wartezeit eine Antwort empfangen wurde.CommunicationError - Wenn bei der initialen Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.public final void sendData(ApplicationDataTelegram telegram, boolean toCentralDistributor)
CommunicationInterfaceVersendet ein Daten-Telegramm über diese Verbindung
sendData in interface CommunicationInterfacetelegram - TelegrammtoCentralDistributor - true: In Richtung des Zentraldatenverteilers, beim Sender-Senke-Datenfluss. false: Aus Richtung des Zentraldatenverteilers, beim Quelle-Empfänger-Datenfluss.public final void sendData(ApplicationDataTelegram telegram)
public final void sendData(ApplicationDataTelegram[] telegrams)
public final void terminate(boolean error,
java.lang.String message)
ServerHighLevelCommunicationTerminiert die Kommunikationsverbindung.
terminate in interface ServerHighLevelCommunicationerror - Ist true, wenn die Verbindung im Fehlerfall abgebrochen werden soll, ohne die noch gepufferten Telegramme zu versenden; false, wenn versucht werden soll alle gepufferten Telegramme zu versenden.message - Fehlermeldung, die die Fehlersituation näher beschreibt.public long getConnectionCreatedTime()
Zeitpunkt, an dem das Objekt erstellt wurde und somit eine Verbindung zum DaV bestand.
public java.lang.String getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers aus der LowLevelCommunication.
LowLevelCommunicationInterface.getSendBufferState()public final void terminate(boolean error,
java.lang.String message,
DataTelegram terminationTelegram)
public void disconnected(boolean error,
java.lang.String message)
de.bsvrz.dav.daf.communication.lowLevel.HighLevelCommunicationCallbackInterfacedisconnected in interface HighLevelCommunicationCallbackInterfaceerror - true signalisiert eine Fehlersituation der unteren Kommunikationsschicht.message - Fehlermeldung, die die Fehlersituation näher beschreibt.public void updateConfigData(SendDataObject receivedData)
de.bsvrz.dav.daf.communication.lowLevel.HighLevelCommunicationCallbackInterfaceupdateConfigData in interface HighLevelCommunicationCallbackInterfacereceivedData - das Konfigurationstelegrammpublic final void triggerSender(BaseSubscriptionInfo data, byte state)
ApplicationCommunicationInterfaceDiese Methode wird von der Verbindungsverwaltung aufgerufen, um eine Sendesteuerung an die Applikation weiterzuleiten. Aus den übergebenen Parametern wird ein RequestSenderDataTelegram-Array gebildet und über die Telegrammverwaltung an die Applikation gesendet.
triggerSender in interface ApplicationCommunicationInterfacedata - Anmeldeinformationenstate - BenachrichtigungscodeRequestSenderDataTelegrampublic final long getId()
ServerHighLevelCommunicationDiese Methode wird von der Verbindungsverwaltung aufgerufen, um die ID der verbundenen Applikation zu erhalten.
getId in interface ServerHighLevelCommunicationgetId in interface CommunicationInterfacepublic final UserLogin getUserLogin()
ServerHighLevelCommunicationGibt die ID des verbundenen Benutzers zurück.
getUserLogin in interface ServerHighLevelCommunicationgetUserLogin in interface CommunicationInterfacepublic void setUserLogin(UserLogin userLogin)
Setzt den eingeloggten Benutzer (nur für Testzwecke)
userLogin - Benutzerpublic final long getConfigurationId()
T_A_HighLevelCommunicationInterfaceGibt die Id der Konfiguration zurück.
getConfigurationId in interface T_A_HighLevelCommunicationInterfacepublic final java.lang.String getApplicationTypePid()
T_A_HighLevelCommunicationInterfaceGibt den Typ der Applikation zurück.
getApplicationTypePid in interface T_A_HighLevelCommunicationInterfacepublic final java.lang.String getApplicationName()
T_A_HighLevelCommunicationInterfaceGibt den Namen der Applikation zurück.
getApplicationName in interface T_A_HighLevelCommunicationInterfacepublic final boolean isConfiguration()
T_A_HighLevelCommunicationInterfaceGibt zurück, ob es sich um die Konfiguration handelt.
isConfiguration in interface T_A_HighLevelCommunicationInterfacetrue, wenn es sich um die Konfiguration handelt, sonst falsepublic final void continueAuthentication()
ServerHighLevelCommunicationDiese Methode wird von der Verbindungsverwaltung aufgerufen, sobald die Konfiguration vorhanden ist, um zu signalisieren, dass eine blockierte Authentifizierung weiter bearbeitet werden kann: Steht eine Authentifizierungsschlüsselanfrage an, während die Konfiguration noch nicht vorhanden ist, wird die Antwort blockiert bis die Konfiguration bereit ist. Dies ist notwendig, da nur die Konfiguration bestimmen kann, ob die Authentifizierungsdaten korrekt sind. Auch für die Interpretation der Daten ist die Konfiguration notwendig.
continueAuthentication in interface ServerHighLevelCommunicationpublic final void update(DataTelegram telegram)
de.bsvrz.dav.daf.communication.lowLevel.HighLevelCommunicationCallbackInterfaceupdate in interface HighLevelCommunicationCallbackInterfacetelegram - Das empfangene Telegrammpublic java.lang.String toString()
toString in class java.lang.Object