de.bsvrz.dav.daf.communication.lowLevel
Interface LowLevelCommunicationInterface

All Known Implementing Classes:
LowLevelCommunication

public interface LowLevelCommunicationInterface

Dieses Interface legt die öffentlichen Methoden der unteren Kommunikationsebene von Datenverteilerverbindungen fest.

Author:
Kappich Systemberatung

Method Summary
 void connect(String mainAddress, int subAddress)
          Diese Methode baut eine Kommunikationsverbindung zu den angegebenen Adressen auf.
 void disconnect(boolean error, String message, DataTelegram terminationTelegram)
          Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.
 ConnectionInterface getConnectionInterface()
          Gibt den Repräsentant der Verbindung zurück
 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 setHighLevelComponent(HighLevelCommunicationCallbackInterface highLevelComponent)
          Setzt die Interpretationsschicht dieser Komponente für den internen Datenaustausch.
 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.
 

Method Detail

connect

void connect(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.

Parameters:
mainAddress - Adresse des Kommunikationspartners dieser Verbindung.
subAddress - Subadresse der Adresse.
Throws:
ConnectionException - Falls die Verbindung nicht hergestellt werden kann.

disconnect

void disconnect(boolean error,
                String message,
                DataTelegram terminationTelegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn die Kommunikationskanäle geschlossen werden sollen.

Parameters:
error - Besagt, ob es sich um eine Terminierung mit Fehler handelt.
message - der Fehlertext
terminationTelegram -

isNotConnected

boolean isNotConnected()
Gibt als Information zurück, ob die Kommunikationsverbindung unterbrochen ist.

Returns:
true = Es besteht keine Verbindung; false = sonst

send

void send(DataTelegram telegram)
Diese Methode wird von der Protokollschicht DaV-DAF aufgerufen, wenn ein Telegramm gesendet werden soll.

Parameters:
telegram - Das zu versendende Telegramm.

send

void send(DataTelegram[] telegrams)
Fügt mehrere Telegramme in die Sendetabelle ein.

Parameters:
telegrams - Die zu versendenden Telegramme.
See Also:
send(de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram)

setHighLevelComponent

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.

Parameters:
highLevelComponent - Komponente, die benachrichtigt werden muss, wenn neue Nachrichten empfangen werden.

updateKeepAliveParameters

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.

Parameters:
keepAliveSendTimeOut - Sendekeepalivetimeout
keepAliveReceiveTimeOut - Empfangekeepalivetimeout

updateThroughputParameters

void 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.

Parameters:
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 Millisekunden
minimumThroughput - Minimal zulässiger Verbindungsdurchsatz in Bytes pro Sekunde

getConnectionInterface

ConnectionInterface getConnectionInterface()
Gibt den Repräsentant der Verbindung zurück

Returns:
Repräsentant der Verbindung

getSendBufferState

String getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers

Returns:
Zustand des Sendepuffers