|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.dav.dav.communication.appProtocol.T_A_HighLevelCommunication
public class T_A_HighLevelCommunication
Diese Klasse stellt eine Verbindung vom Datenverteiler zur Applikation dar. Über diese Verbindung können Telegramme an eine Applikation verschickt werden.
Field Summary | |
---|---|
private long |
_applicationId
Der Applikation Id |
private String |
_applicationName
Der Name der Applikation |
private ConnectionsManager.ApplicationStatusUpdater |
_applicationStatusUpdater
Wird benachrichtigt, sobald die Verbindung zur Applikation komplett aufgebaut wurde. |
private String |
_applicationTypePid
Die Pid des Applikationstyps |
private AuthentificationComponent |
_authentificationComponent
Die Authentifizierungskomponente |
private boolean |
_closed
|
private Object |
_closedLock
|
private long |
_configurationId
Der Konfiguration Id |
private String |
_configurationPid
Die Pid der Konfiguration |
private long |
_connectionCreatedTime
|
private ConnectionsManager |
_connectionsManager
Die Verwaltung der Datenverteiler Verbindungen |
private static Debug |
_debug
|
private LowLevelCommunicationInterface |
_lowLevelCommunication
Die erste Ebene der Kommunikation |
private ServerConnectionProperties |
_properties
Die Eigenschaften diese Verbindung |
private long |
_remoteUserId
Die Id des Benutzers |
private Map<BaseSubscriptionInfo,List<ApplicationDataTelegram>> |
_stalledTelegramListMap
Map in der eine je Datenidentifikation eine Liste von empfangenen Telegrammen, die zu einem Datensatz gehören zwischengespeichert werden können |
private T_A_SubscriptionComponent |
_subscriptionComponent
Die Anmeldekomponente diese Verbindung |
private SubscriptionsManager |
_subscriptionsManager
Die Verwaltung der Anmelde Komponenten |
private Object |
_sync
Objekt zur internen Synchronization |
private List<DataTelegram> |
_syncSystemTelegramList
Temporäre Liste der Systemtelegramme für interne Synchronisationszwecke. |
private int[] |
_versions
Die unterstützten Versionen des Datenverteilers |
private boolean |
_waitForConfiguration
Die Information ob auf die Konfiguration gewartet werden muss. |
Constructor Summary | |
---|---|
T_A_HighLevelCommunication(ServerConnectionProperties properties,
SubscriptionsManager subscriptionsManager,
ConnectionsManager connectionsManager,
boolean waitForConfiguration)
Erzeugt ein neues Objekt mit den gegebenen Parametern. |
Method Summary | |
---|---|
void |
continueAuthentification()
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. |
List<ApplicationDataTelegram> |
createStalledTelegramList(BaseSubscriptionInfo info,
int maxCount)
Erzeugt eine Liste für verzögerte Telegramme für eine Datenidentifikation und speichert sie in einer Map. |
List<ApplicationDataTelegram> |
deleteStalledTelegramList(BaseSubscriptionInfo info)
Liefert eine vorher erzeugte Liste für verzögerte Telegramme für eine Datenidentifikation und entfernt sie aus der Map. |
void |
disconnected(boolean error,
String message)
|
String |
getApplicationName()
Gibt den Namen der Applikation zurück. |
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 |
getDataTransmitterId()
Gibt die Id des Datenverteilers zurück. |
long |
getId()
Diese Methode wird von der Verbindungsverwaltung aufgerufen, um die ID der verbundenen Applikation zu erhalten. |
private int |
getPrefferedVersion(int[] versions)
Gibt die Version zurück, die von dieser Verbindung unterstützt wird. |
long |
getRemoteUserId()
Gibt die ID des verbundenen Benutzers zurück. |
String |
getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers aus der LowLevelCommunication. |
List<ApplicationDataTelegram> |
getStalledTelegramList(BaseSubscriptionInfo info)
Liefert eine vorher erzeugte Liste für verzögerte Telegramme für eine Datenidentifikation. |
SubscriptionComponent |
getSubscriptionComponent()
Gibt die Komponente zurück, die die Anmeldungen der Verbindung verwaltet. |
long |
getTelegrammTime(long maxWaitingTime)
Diese Methode wird von der Verbindungsverwaltung aufgerufen. |
boolean |
isConfiguration()
Gibt zurück, ob es sich um die Konfiguration handelt. |
void |
sendData(ApplicationDataTelegram telegram)
Sendet ein Telegramm über die Telegrammverwaltung zur Applikation. |
void |
sendData(ApplicationDataTelegram[] telegrams)
Sendet mehrere Telegramme über die Telegrammverwaltung zur Applikation. |
void |
setApplicationStatusUpdater(ConnectionsManager.ApplicationStatusUpdater applicationStatusUpdater)
Dieses Objekt wird benachrichtigt, sobald die Verbindung zur Applikation aufgebaut wurde. |
void |
terminate(boolean error,
String message)
Terminiert die Kommunikationsverbindung. |
void |
terminate(boolean error,
String message,
DataTelegram terminationTelegram)
|
void |
triggerSender(BaseSubscriptionInfo data,
byte state)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, um eine Sendesteuerung an die Applikation weiterzuleiten. |
void |
update(DataTelegram telegram)
|
void |
updateConfigData(SendDataObject receivedData)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Debug _debug
private LowLevelCommunicationInterface _lowLevelCommunication
private ServerConnectionProperties _properties
private int[] _versions
private long _applicationId
private long _remoteUserId
private long _configurationId
private String _applicationName
private String _applicationTypePid
private String _configurationPid
private SubscriptionsManager _subscriptionsManager
private ConnectionsManager _connectionsManager
private T_A_SubscriptionComponent _subscriptionComponent
private AuthentificationComponent _authentificationComponent
private List<DataTelegram> _syncSystemTelegramList
private boolean _waitForConfiguration
private Object _sync
private boolean _closed
private Object _closedLock
private final long _connectionCreatedTime
private ConnectionsManager.ApplicationStatusUpdater _applicationStatusUpdater
private Map<BaseSubscriptionInfo,List<ApplicationDataTelegram>> _stalledTelegramListMap
Constructor Detail |
---|
public T_A_HighLevelCommunication(ServerConnectionProperties properties, SubscriptionsManager subscriptionsManager, ConnectionsManager connectionsManager, boolean waitForConfiguration)
properties
- stellt die Parameter einer Verbindung zwischen zwei ServernsubscriptionsManager
- Verwaltung der AnmeldungenconnectionsManager
- VerbindungsverwaltungwaitForConfiguration
- true: ,false:Method Detail |
---|
public void setApplicationStatusUpdater(ConnectionsManager.ApplicationStatusUpdater applicationStatusUpdater)
applicationStatusUpdater
- Objekt, das benachrichtigt wird.public final long getTelegrammTime(long maxWaitingTime) throws CommunicationError
ServerHighLevelCommunication
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.
getTelegrammTime
in interface ServerHighLevelCommunication
maxWaitingTime
- 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)
T_A_HighLevelCommunicationInterface
sendData
in interface T_A_HighLevelCommunicationInterface
telegram
- Telegramm, das verschickt werden soll.public final void sendData(ApplicationDataTelegram[] telegrams)
T_A_HighLevelCommunicationInterface
sendData
in interface T_A_HighLevelCommunicationInterface
telegrams
- Telegramme, die verschickt werden sollen.public final void terminate(boolean error, String message)
ServerHighLevelCommunication
terminate
in interface ServerHighLevelCommunication
error
- 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()
public String getSendBufferState()
LowLevelCommunicationInterface.getSendBufferState()
public final void terminate(boolean error, String message, DataTelegram terminationTelegram)
public void disconnected(boolean error, String message)
disconnected
in interface HighLevelCommunicationCallbackInterface
public void updateConfigData(SendDataObject receivedData)
updateConfigData
in interface HighLevelCommunicationCallbackInterface
public final void triggerSender(BaseSubscriptionInfo data, byte state)
T_A_HighLevelCommunicationInterface
RequestSenderDataTelegram
-Array gebildet und über die Telegrammverwaltung an die Applikation gesendet.
triggerSender
in interface T_A_HighLevelCommunicationInterface
data
- Anmeldeinformationenstate
- BenachrichtigungscodeRequestSenderDataTelegram
public final SubscriptionComponent getSubscriptionComponent()
ServerHighLevelCommunication
getSubscriptionComponent
in interface ServerHighLevelCommunication
public final long getId()
ServerHighLevelCommunication
getId
in interface ServerHighLevelCommunication
public final long getRemoteUserId()
ServerHighLevelCommunication
getRemoteUserId
in interface ServerHighLevelCommunication
public final long getConfigurationId()
T_A_HighLevelCommunicationInterface
getConfigurationId
in interface T_A_HighLevelCommunicationInterface
public final long getDataTransmitterId()
T_A_HighLevelCommunicationInterface
getDataTransmitterId
in interface T_A_HighLevelCommunicationInterface
public final String getApplicationTypePid()
T_A_HighLevelCommunicationInterface
getApplicationTypePid
in interface T_A_HighLevelCommunicationInterface
public final String getApplicationName()
T_A_HighLevelCommunicationInterface
getApplicationName
in interface T_A_HighLevelCommunicationInterface
public final boolean isConfiguration()
T_A_HighLevelCommunicationInterface
isConfiguration
in interface T_A_HighLevelCommunicationInterface
true
, wenn es sich um die Konfiguration handelt, sonst false
public final void continueAuthentification()
ServerHighLevelCommunication
continueAuthentification
in interface ServerHighLevelCommunication
private int getPrefferedVersion(int[] versions)
versions
- Versionen, die unterstützt werden sollen. Wird null
übergeben, so wird -1 zurückgegeben.
public final void update(DataTelegram telegram)
update
in interface HighLevelCommunicationCallbackInterface
public List<ApplicationDataTelegram> createStalledTelegramList(BaseSubscriptionInfo info, int maxCount)
info
- Datenidentifikation der verzögerten TelegrammemaxCount
- Maximale Anzahl der verzögerten Telegramme
getStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo)
,
deleteStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo)
public List<ApplicationDataTelegram> getStalledTelegramList(BaseSubscriptionInfo info)
info
- Datenidentifikation der verzögerten Telegramme
createStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo,int)
,
deleteStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo)
public List<ApplicationDataTelegram> deleteStalledTelegramList(BaseSubscriptionInfo info)
info
- Datenidentifikation der verzögerten Telegramme
createStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo,int)
,
getStalledTelegramList(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |