de.bsvrz.sys.dcf77.zeitverw
Class SenderThread

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.sys.dcf77.zeitverw.SenderThread
All Implemented Interfaces:
IntpTrigger, java.lang.Runnable

public class SenderThread
extends java.lang.Thread
implements IntpTrigger

Klasse die mit dem NTP (NetworkTimeProkol) Client kommuniziert. Ueber das Interface IntpAllgemein wird zyklisch der NTP Zustand auf dem aktuellen Recher erfragt. Aenderungen werden im DAV ueber den Aspekt Recher.dcfStatus.Zustand protokolliert

Author:
ChriestenJ

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SenderThread(IntpAllgemein ntpAllgemein, DCFdav dcfDAV, long zyklusZeit)
          Konstruktor1: Initialisiert das Objekt.
SenderThread(IntpAllgemein ntpAllgemein, DCFdav dcfDAV, long zyklusZeit, long zyklusCountMax)
          Konstruktor2: Initialisiert das Objekt.
 
Method Summary
 void dataRequest(java.lang.Object object, java.lang.Object dataDescription, byte state)
           
 DataAspZustand get_dataAspZustandNeu()
          gibt aktuellen NTP Zustands zurueck (== den zuletzt über das Interface IntpAllgemein gelesenen Zustand).
 boolean isRequestSupported(java.lang.Object object, java.lang.Object dataDescription)
           
 boolean leseNTPStatus()
          Liest den aktuellen NTP Zustand return true Zustand seit dem letzten lesen geaendert, false sonst
static void main(java.lang.String[] args)
          Testroutine fuer das lokale Modul.
 void run()
          In einem Endlosloop wird zyklisch der Status des NTP (Zeitservers) eingelesen Bei Datenaenderungen wird der geaenderte Status im DAV protokolliert.
 void set_schreibeInDav(boolean schreibeInDav)
          setzt m_schreibeInDav;
 void set_shutDown()
          Beendet den Thread dieser Instanz
 void setTrigger()
          Implementation der Schnittstelle IntpTrigger Methode zum Unterbrechen der wait-Zyklen im Sender Thread.
 
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
 

Constructor Detail

SenderThread

public SenderThread(IntpAllgemein ntpAllgemein,
                    DCFdav dcfDAV,
                    long zyklusZeit)
Konstruktor1: Initialisiert das Objekt.

Parameters:
ntpAllgemein - Schnittstellenobjekt zum NTP Server
dcfDAV - Ueber dieses dcfDAV Objekt wird der DCF Zustand verschickt.
zyklusZeit - Wartezeit zwischen 2 Zeitserverabfragen in sec. (-1: nur auf Interrupts reagieren).

SenderThread

public SenderThread(IntpAllgemein ntpAllgemein,
                    DCFdav dcfDAV,
                    long zyklusZeit,
                    long zyklusCountMax)
Konstruktor2: Initialisiert das Objekt.

Parameters:
ntpAllgemein - Schnittstellenobjekt zum NTP Server
dcfDAV - Ueber dieses dcfDAV Objekt wird der DCF Zustand verschickt.
zyklusZeit - Wartezeit zwischen 2 Zeitserverabfragen in sec. (-1: nur auf Interrupts reagieren).
zyklusCountMax - Maximalzahl der Zyklen, die der SenderThread ausführt (-1: unendlich)
Method Detail

set_schreibeInDav

public void set_schreibeInDav(boolean schreibeInDav)
setzt m_schreibeInDav;

Parameters:
schreibeInDav - false: NTP Zustände nicht in den DaV schreiben ; nur für Tests.

get_dataAspZustandNeu

public DataAspZustand get_dataAspZustandNeu()
gibt aktuellen NTP Zustands zurueck (== den zuletzt über das Interface IntpAllgemein gelesenen Zustand). Methode wird fuer JUNIT Test verwendet leseNTPStatus


set_shutDown

public void set_shutDown()
Beendet den Thread dieser Instanz


run

public void run()
In einem Endlosloop wird zyklisch der Status des NTP (Zeitservers) eingelesen Bei Datenaenderungen wird der geaenderte Status im DAV protokolliert.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

leseNTPStatus

public boolean leseNTPStatus()
Liest den aktuellen NTP Zustand return true Zustand seit dem letzten lesen geaendert, false sonst


setTrigger

public void setTrigger()
Implementation der Schnittstelle IntpTrigger Methode zum Unterbrechen der wait-Zyklen im Sender Thread.

Specified by:
setTrigger in interface IntpTrigger

dataRequest

public void dataRequest(java.lang.Object object,
                        java.lang.Object dataDescription,
                        byte state)

isRequestSupported

public boolean isRequestSupported(java.lang.Object object,
                                  java.lang.Object dataDescription)

main

public static void main(java.lang.String[] args)
Testroutine fuer das lokale Modul. Wird fuer verschiedene Tests im Laufe des Entwicklungs- und Wartungsprozesses verwendet

Parameters:
args - Testargumente