public interface LowLevelCommunicationInterface
Dieses Interface legt die öffentlichen Methoden der unteren Kommunikationsebene von Datenverteilerverbindungen fest.
Modifier and Type | Method and Description |
---|---|
void |
connect(java.lang.String mainAddress,
int subAddress)
Diese Methode baut eine Kommunikationsverbindung zu den angegebenen Adressen auf.
|
void |
disableEncryption()
Deaktiviert die Verschlüsselung
|
void |
disconnect(boolean error,
java.lang.String message,
DataTelegram terminationTelegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.
|
void |
enableEncryption(SrpTelegramEncryption encryption)
Aktiviert die Verschlüsselung
|
ConnectionInterface |
getConnectionInterface()
Gibt den Repräsentant der Verbindung zurück
|
default EncryptionStatus |
getEncryptionStatus()
Gibt den Verschlüsselungsstatus zurück
|
java.lang.String |
getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers
|
boolean |
isNotConnected()
Gibt als Information zurück, ob die Kommunikationsverbindung unterbrochen ist.
|
void |
send(DataTelegram telegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn ein Telegramm gesendet werden soll.
|
void |
send(DataTelegram[] telegrams)
Fügt mehrere Telegramme in die Sendetabelle ein.
|
void |
sendDirect(java.util.Collection<DataTelegram> telegrams)
Sendet Telegramme direkt, wobei die SendeQueue umgangen wird.
|
void |
sendDirect(DataTelegram telegram)
Sendet ein Telegramm direkt, wobei die SendeQueue umgangen wird.
|
void |
setHighLevelComponent(HighLevelCommunicationCallbackInterface highLevelComponent)
Setzt die Interpretationsschicht dieser Komponente für den internen Datenaustausch.
|
void |
setRemoteName(java.lang.String name)
Diese Methode setzt den Namen des Kommunikationspartners, der für Fehlermeldungen etc. verwendet wird.
|
void |
updateKeepAliveParameters(long keepAliveSendTimeOut,
long keepAliveReceiveTimeOut)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Keepalive-Parameter-Verhandlung erfolgreich abgeschlossen ist und setzt somit die Timeouts des Keepaliveprozesses.
|
void |
updateThroughputParameters(float throughputControlSendBufferFactor,
long throughputControlInterval,
int minimumThroughput)
Diese Methode setzt die Parameter für die Durchsatzprüfung.
|
void connect(java.lang.String mainAddress, int subAddress) throws ConnectionException
Diese Methode baut eine Kommunikationsverbindung zu den angegebenen Adressen auf. Sie wird von der Protokollschicht DaV-DAF während der Verbindungsinitialisierung aufgerufen.
mainAddress
- Adresse des Kommunikationspartners dieser Verbindung.subAddress
- Subadresse der Adresse.ConnectionException
- Falls die Verbindung nicht hergestellt werden kann.void disconnect(boolean error, java.lang.String message, DataTelegram terminationTelegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.
error
- Besagt, ob es sich um eine Terminierung mit Fehler handelt.message
- der FehlertextterminationTelegram
- boolean isNotConnected()
Gibt als Information zurück, ob die Kommunikationsverbindung unterbrochen ist.
true
= Es besteht keine Verbindung; false
= sonstvoid send(DataTelegram telegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn ein Telegramm gesendet werden soll.
telegram
- Das zu versendende Telegramm.void send(DataTelegram[] telegrams)
Fügt mehrere Telegramme in die Sendetabelle ein.
telegrams
- Die zu versendenden Telegramme.send(de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram)
void setHighLevelComponent(HighLevelCommunicationCallbackInterface highLevelComponent)
Setzt die Interpretationsschicht dieser Komponente für den internen Datenaustausch. Erst nach Aufruf dieser Methode von der Protokollschicht DaV-DAF werden die Kommunikations-Threads gestartet, weil sonst keine Telegramme interpretiert oder weitergeleitet werden können.
highLevelComponent
- Komponente, die benachrichtigt werden muss, wenn neue Nachrichten empfangen werden.void updateKeepAliveParameters(long keepAliveSendTimeOut, long keepAliveReceiveTimeOut)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Keepalive-Parameter-Verhandlung erfolgreich abgeschlossen ist und setzt somit die Timeouts des Keepaliveprozesses.
keepAliveSendTimeOut
- SendekeepalivetimeoutkeepAliveReceiveTimeOut
- Empfangekeepalivetimeoutvoid updateThroughputParameters(float throughputControlSendBufferFactor, long throughputControlInterval, int minimumThroughput)
Diese Methode setzt die Parameter für die Durchsatzprüfung. Sie wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Parameter für die Durchsatzprüfung erfolgreich verhandelt wurden.
throughputControlSendBufferFactor
- Füllungsgrad des Sendepuffers als Faktor zwischen 0 und 1, ab dem die Durchsatzprüfung anfängt zu arbeiten.throughputControlInterval
- Zeit zwischen zwei Durchsatzprüfungen in MillisekundenminimumThroughput
- Minimal zulässiger Verbindungsdurchsatz in Bytes pro SekundeConnectionInterface getConnectionInterface()
Gibt den Repräsentant der Verbindung zurück
java.lang.String getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers
void setRemoteName(java.lang.String name)
Diese Methode setzt den Namen des Kommunikationspartners, der für Fehlermeldungen etc. verwendet wird.
name
- Name oder Identifikation des Kommunikationspartnersvoid enableEncryption(SrpTelegramEncryption encryption)
Aktiviert die Verschlüsselung
encryption
- Verschlüsselungvoid disableEncryption()
Deaktiviert die Verschlüsselung
default EncryptionStatus getEncryptionStatus()
Gibt den Verschlüsselungsstatus zurück
void sendDirect(DataTelegram telegram)
Sendet ein Telegramm direkt, wobei die SendeQueue umgangen wird. Das Telegramm muss versendet wurden sein, wenn die Methode verlassen wird
telegram
- Telegrammvoid sendDirect(java.util.Collection<DataTelegram> telegrams)
Sendet Telegramme direkt, wobei die SendeQueue umgangen wird. Das Telegramm muss versendet wurden sein, wenn die Methode verlassen wird
telegrams
- Telegramme