de.bsvrz.dav.daf.communication.lowLevel
Class LowLevelCommunication.KeepAliveThread

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.dav.daf.communication.lowLevel.LowLevelCommunication.KeepAliveThread
All Implemented Interfaces:
Runnable
Enclosing class:
LowLevelCommunication

 class LowLevelCommunication.KeepAliveThread
extends Thread

Dieser Thread verschickt Keepalive Telegramme und baut die Verbindung ab, wenn dreimal nacheinander eine bestimmte Zeit lang keine Daten mehr empfangen wurden.

KeepAlive-Thread Senden: Wurde einen bestimmten Zeitraum kein Telegramm mehr verschickt, wird ein Keep-Alive Telegramm verschickt.

KeepAlive-Thread Empfangen: Wurde dreimal nacheinander eine bestimmte Zeit kein Telegramm empfangen, wird die Verbindung abgebaut.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
private  long _lastQueuedKeepAliveTime
          Zeit des letzten zum Versand eingetragenen KeepAlive-Telegramms
private  long _lastReceivingTime
          Zeit des letzten Empfangs von Daten
private  long _lastSendingTime
          Zeit des letzten Versands von Daten
private  int _souls
          Aktuelle noch verbleibende Anzahl für das Ablaufen des Empfangstimeouts bevor die Verbindung terminiert wird.
private static byte MAX_SOULS
          Maximale Anzahl für das Ablaufen des Empfangstimeouts bevor die Verbindung terminiert wird.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
LowLevelCommunication.KeepAliveThread()
           
 
Method Summary
(package private)  int getSouls()
          Diese Methode dient dazu JUnit-Tests zu unterstützen.
 void receivedTelegram()
           
 void run()
           
 void sentTelegram()
           
 void timeoutsChanged()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_SOULS

private static final byte MAX_SOULS
Maximale Anzahl für das Ablaufen des Empfangstimeouts bevor die Verbindung terminiert wird.

See Also:
Constant Field Values

_souls

private int _souls
Aktuelle noch verbleibende Anzahl für das Ablaufen des Empfangstimeouts bevor die Verbindung terminiert wird.


_lastReceivingTime

private long _lastReceivingTime
Zeit des letzten Empfangs von Daten


_lastSendingTime

private long _lastSendingTime
Zeit des letzten Versands von Daten


_lastQueuedKeepAliveTime

private long _lastQueuedKeepAliveTime
Zeit des letzten zum Versand eingetragenen KeepAlive-Telegramms

Constructor Detail

LowLevelCommunication.KeepAliveThread

public LowLevelCommunication.KeepAliveThread()
Method Detail

receivedTelegram

public void receivedTelegram()

sentTelegram

public void sentTelegram()

timeoutsChanged

public void timeoutsChanged()

getSouls

int getSouls()
Diese Methode dient dazu JUnit-Tests zu unterstützen.

Returns:
Anzahl Versuche, bis die Verbindung terminiert wird. Sobald ein Telegramm verschickt wird, wird _souls wieder auf den maximalen Wert gesetzt.

run

public final void run()
Specified by:
run in interface Runnable
Overrides:
run in class Thread