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);