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 Methoden enter und leave, die aufgerufen werden, wenn Methoden der Klasse ADwinDevice 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 der ADwinDebugListener seinen Inhalt auf einen InputOutputStream schreiben können, wo er von einem internen Debug-Listener gelesen wird. Dabei stauen sich verschiedene Meldungen auf, die der ADwinDebugListener lesen und eventuell ausgeben können muss.

    See Also:
    ADwinDevice
    • 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 Methoden tryLater, recvAgain oder sendAgain 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 wird
      void 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 wurde
        NumTry - 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 unwichtig
        BlockIndex - Welcher Block-Index gerade dran war, falls gerade ein Data-Austausch aktiv ist, ansonsten 0
        CommandField - 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 sollte
        IndexRecvd - Welcher Paket-Index tatsächlich empfangen wurde
        CommandField - Welcher Befehl gerade ausgeführt werden sollte.
      • message

        void message​(String Message,
                     int Prio)
        Meldung aus dem ADwin-Package, die sich nicht in die Methoden tryLater, recvAgain oder sendAgain einordnen lässt.
        Parameters:
        Message - Nachricht
        Prio - Üblicherweise eine Konstanten aus dem Interface ADwinDebugListenerPrioConstants. Sie dient dazu, evtl. die Ausgabe des ADwinDebugListeners übersichtlicher zu gestalten, je nach Verwendungszweck.
        See Also:
        ADwinDebugListenerPrioConstants
      • enter

        void enter​(String Name)
        Wird am Eintrittspunkt einer Methode des Packages aufgerufen. Der ADwinDebugListener muss diesen Wert bis zu einem passenden leave 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 passendem enter ist rückgängig zu machen, um immer einen richtigen Stack-Trace im Speicher zu haben.