Interface ADwinDebugListener
-
- All Superinterfaces:
ADwinDebugListenerPrioConstants
public interface ADwinDebugListener extends ADwinDebugListenerPrioConstants
Empfängt Meldungen aus dem ADwin-Package und zeigt sie, zusammen mit einem Stack-Trace, an.Der
ADwinDebugListener
hat die Methodenenter
undleave
, die aufgerufen werden, wenn Methoden der KlasseADwinDevice
oder Methoden im Application Server aufgerufen werden. Sie dienen dazu, einen Stacktrace bei Meldungen des ADwin-Packages anzuzeigen, um zu sehen, woher die Meldung kommt. Die Meldungen beziehen sich generall auf Vorkommnisse im Netzwerk, z.B. verlorengegangene Pakete usw.Im Application Server kann der
ADwinDebugListener
keine Meldungen anzeigen, weil der Server auf einem anderen Prozess laufen kann. Für diesen Fall muss derADwinDebugListener
seinen Inhalt auf einenInputOutputStream
schreiben können, wo er von einem internen Debug-Listener gelesen wird. Dabei stauen sich verschiedene Meldungen auf, die derADwinDebugListener
lesen und eventuell ausgeben können muss.- See Also:
ADwinDevice
-
-
Field Summary
-
Fields inherited from interface de.adwin.driver.ADwinDebugListenerPrioConstants
PRIO_ERROR_INFO, PRIO_INFO, PRIO_SPEC_PACKETS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
enter(String Name)
Wird am Eintrittspunkt einer Methode des Packages aufgerufen.void
leave()
Wird aufgerufen, wenn eine Methode verlassen wird.void
message(String Message, int Prio)
Meldung aus dem ADwin-Package, die sich nicht in die MethodentryLater
,recvAgain
odersendAgain
einordnen lässt.void
recvAgain(int PaketIndexSent, int IndexRecvd, int CommandField)
Wird aufgerufen, wenn nochmals versucht wird, ein Paket zu empfangen, zum Beispiel weil ein falscher Paket - Index angekommen ist.void
sendAgain(int PaketIndex, int BlockIndex, int CommandField)
Wird aufgerufen, wenn ein Paket nochmal (keine Bestätigung erhalten oder ähnliches) verschickt wirdvoid
tryLater(int PaketIndex, int NumTry)
Wird aufgerufen, wenn das ADwin-System gerade zu beschäftigt ist, um mit diesem Application Server zu kommunizieren.
-
-
-
Method Detail
-
tryLater
void tryLater(int PaketIndex, int NumTry)
Wird aufgerufen, wenn das ADwin-System gerade zu beschäftigt ist, um mit diesem Application Server zu kommunizieren.- Parameters:
PaketIndex
- Bei welchem Paket-Index das Try-Later-Paket empfangen wurdeNumTry
- Der wievielte Versuch das jetzt schon ist
-
sendAgain
void sendAgain(int PaketIndex, int BlockIndex, int CommandField)
Wird aufgerufen, wenn ein Paket nochmal (keine Bestätigung erhalten oder ähnliches) verschickt wird- Parameters:
PaketIndex
- Welchen Paket-Index das nochmal verschickte Paket hatte, oder 0, falls unwichtigBlockIndex
- Welcher Block-Index gerade dran war, falls gerade ein Data-Austausch aktiv ist, ansonsten 0CommandField
- Welcher Befehl gerade ausgeführt wird
-
recvAgain
void recvAgain(int PaketIndexSent, int IndexRecvd, int CommandField)
Wird aufgerufen, wenn nochmals versucht wird, ein Paket zu empfangen, zum Beispiel weil ein falscher Paket - Index angekommen ist.- Parameters:
PaketIndexSent
- Auf welchen Paket-Index hin das Paket empfangen werden sollteIndexRecvd
- Welcher Paket-Index tatsächlich empfangen wurdeCommandField
- Welcher Befehl gerade ausgeführt werden sollte.
-
message
void message(String Message, int Prio)
Meldung aus dem ADwin-Package, die sich nicht in die MethodentryLater
,recvAgain
odersendAgain
einordnen lässt.- Parameters:
Message
- NachrichtPrio
- Üblicherweise eine Konstanten aus dem InterfaceADwinDebugListenerPrioConstants
. Sie dient dazu, evtl. die Ausgabe desADwinDebugListener
s übersichtlicher zu gestalten, je nach Verwendungszweck.- See Also:
ADwinDebugListenerPrioConstants
-
enter
void enter(String Name)
Wird am Eintrittspunkt einer Methode des Packages aufgerufen. DerADwinDebugListener
muss diesen Wert bis zu einem passendenleave
behalten, und kann den so gewonnenen Stack-Trace zusammen mit Meldungen anzeigen.- Parameters:
Name
- Name und Parameter (in einem String) der Methode, in die eingetreten wird
-
leave
void leave()
Wird aufgerufen, wenn eine Methode verlassen wird. Alles seit dem letzten dazu passendementer
ist rückgängig zu machen, um immer einen richtigen Stack-Trace im Speicher zu haben.
-
-