CommonBackend

Die Klasse CommonBackend enthält Handler und allgemeine Logik für die Interaktion mit dem Frontend.

Die Klasse enthält Handler und allgemeine Logik für die Interaktion mit dem Frontend. Um zu arbeiten, benötigen Sie die folgenden Methoden der Klasse CommonBackend:

  • startReadAndWriteThread - Startet Threads zur Verarbeitung von Lese- und Schreibnachrichten
    commonBackend.startReadAndWriteThread();    
  • waitForDone - Der Aufruf dieser Funktion ist notwendig für die korrekte Vervollständigung einer Instanz der CommonBackend-Klasse.
    commonBackend.waitForDone();
  • getConfigChannelHandlerUnprepared - Ruft das Config-Channel-Handler-Objekt ab, stellt aber nicht sicher, dass es sich tatsächlich in einem verwendbaren Zustand befindet
    commonBackend.getConfigChannelHandlerUnprepared();
  • runCommonBackendWithConfigChannelOnly - Führt den Konfigurationskanal-Thread nur für synchrone Anfragen aus, um Konfigurationseinstellungen zu erhalten, ohne eine Lese-/Schreibverarbeitung auszulösen. Wenn Sie diese Funktion aufrufen, müssen Sie die Threads für die Lese- und Schreibverarbeitung in Zukunft mit der Funktion startReadAndWriteThread starten. Der dritte Parameter serverPublicKey ist optional und kann verwendet werden, um einen öffentlichen Schlüssel für die verschlüsselte Kommunikation mit dem Frontend zu übergeben.
    auto& configChannelHandler = commonBackend.runCommonBackendWithConfigChannelOnly(zmqAddress, pollingInterval,serverPublicKey);
  • onConnectionLost - Richtet einen Callback ein, um den Verlust der Kommunikation mit dem Frontend zu behandeln
    commonBackend.onConnectionLost([&]()
    {
        logDebug("Connection to the frontend lost, the backend will exit.");
        doExit = true;
    });
  • onWriteRequest - Richtet eine Callback-Funktion ein, die für das Schreiben zuständig ist. Diese Callback-Funktion sollte ein Erfolgsflag für das Schreiben zurückgeben (siehe Write handler).
  • onReadRequest - Richtet eine Callback-Funktion ein, die für das Lesen zuständig ist (siehe Read handler).
  • makeReadResponseSender - Erzeugt eine Instanz der Klasse ReadResponseSender, um das Leseergebnis an das Frontend zu senden (siehe Read handler).
  • getLoggingInterface - Ruft eine Instanz der Klasse LogMessageQueue für die Protokollierung von Nachrichten an das Frontend ab.
    LogMessageQueue& logMessageQueue = commonBackend.getLoggingInterface();
    logMessageQueue.queueLogMessage(ErrorMessageFromBackend_Priority_Information, message, std::string(), 0);