|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.sys.dcf77.zeitverw.SenderThread
public class SenderThread
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
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
private de.bsvrz.sys.funclib.debug.Debug |
_debug
|
private DataAspZustand |
m_dataAspZustandAlt
letzter NTP Zustands |
private DataAspZustand |
m_dataAspZustandNeu
aktueller NTP Zustands |
private DCFdav |
m_dcfDAV
DCF DAV Verbindung. |
private java.lang.Boolean |
m_erstesMal
lokale Hilfsvariable zur Steuerung des waits |
private IntpAllgemein |
m_ntpAllgemein
Schnittstellenobjekt zum NTP Server |
private boolean |
m_schreibeInDav
|
(package private) java.lang.Boolean |
m_shutDown
soll der Thread beendet werden? |
private long |
m_zyklusCount
|
private long |
m_zyklusCountMax
|
private long |
m_zyklusZeit
Zeitdauer zwischen 2 Zeitserverabfragen in sec |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
private |
SenderThread()
Konstruktor3 nur fuer lokale Tests |
|
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). |
private void |
initialize_SenderThread(IntpAllgemein ntpAllgemein,
DCFdav dcfDAV,
long zyklusZeit,
long zyklusCountMax)
lokale Hilfsroutine fuer die Konstruktoren |
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 |
private void |
leseUndSendeNTPStatus()
|
private void |
leseUndSendeNTPStatusOld()
Liest den aktuellen NTP Zustand Bei Aenderungen wird er ueber den DAV protokolliert. |
static void |
main(java.lang.String[] args)
Testroutine fuer das lokale Modul. |
private void |
mywait(long timeout)
Wrapper Funktion fuer wait() bei timeout = -1000 wird ewig gewartet beim ersten Aufruf nach Obejtkinstanziierung wird nicht gewartet |
void |
run()
In einem Endlosloop wird zyklisch der Status des NTP (Zeitservers) eingelesen Bei Datenaenderungen wird der geaenderte Status im DAV protokolliert. |
private void |
sendeNTPStatus()
|
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 |
Field Detail |
---|
private de.bsvrz.sys.funclib.debug.Debug _debug
private IntpAllgemein m_ntpAllgemein
private DCFdav m_dcfDAV
private long m_zyklusZeit
private DataAspZustand m_dataAspZustandNeu
private boolean m_schreibeInDav
private DataAspZustand m_dataAspZustandAlt
java.lang.Boolean m_shutDown
private java.lang.Boolean m_erstesMal
private long m_zyklusCount
private long m_zyklusCountMax
Constructor Detail |
---|
public SenderThread(IntpAllgemein ntpAllgemein, DCFdav dcfDAV, long zyklusZeit)
ntpAllgemein
- Schnittstellenobjekt zum NTP ServerdcfDAV
- Ueber dieses dcfDAV Objekt wird der DCF Zustand verschickt.zyklusZeit
- Wartezeit zwischen 2 Zeitserverabfragen in sec. (-1: nur auf Interrupts reagieren).public SenderThread(IntpAllgemein ntpAllgemein, DCFdav dcfDAV, long zyklusZeit, long zyklusCountMax)
ntpAllgemein
- Schnittstellenobjekt zum NTP ServerdcfDAV
- 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)private SenderThread()
Method Detail |
---|
public void set_schreibeInDav(boolean schreibeInDav)
schreibeInDav
- false: NTP Zustände nicht in den DaV schreiben ; nur für Tests.public DataAspZustand get_dataAspZustandNeu()
public void set_shutDown()
private void initialize_SenderThread(IntpAllgemein ntpAllgemein, DCFdav dcfDAV, long zyklusZeit, long zyklusCountMax)
public void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
public boolean leseNTPStatus()
private void sendeNTPStatus()
private void leseUndSendeNTPStatus()
private void leseUndSendeNTPStatusOld()
public void setTrigger()
setTrigger
in interface IntpTrigger
private void mywait(long timeout)
timeout
- Wartezeit in mspublic void dataRequest(java.lang.Object object, java.lang.Object dataDescription, byte state)
public boolean isRequestSupported(java.lang.Object object, java.lang.Object dataDescription)
public static void main(java.lang.String[] args)
args
- Testargumente
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |