Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CoreMQTT-Agentenbibliothek
Anmerkung
Der Inhalt dieser Seite ist möglicherweise nicht aktuell. Das neueste Update finden Sie auf der FreeRTOS.org Bibliotheksseite
Einführung
Die CoreMQTT Agentenbibliothek ist eine API auf hoher Ebene, die Thread-Sicherheit erhöht. CoreMQTT-Bibliothek Damit können Sie eine spezielle MQTT-Agentenaufgabe erstellen, die eine MQTT-Verbindung im Hintergrund verwaltet und keine Intervention durch andere Aufgaben erfordert. Die Bibliothek bietet Thread-sichere Entsprechungen zu den CoreMQTT-APIs, sodass sie in Multithread-Umgebungen verwendet werden kann.
Der MQTT-Agent ist eine unabhängige Aufgabe (oder ein Ausführungsthread). Er gewährleistet Thread-Sicherheit, da er die einzige Aufgabe ist, die auf die API der MQTT-Bibliothek zugreifen darf. Sie serialisiert den Zugriff, indem sie alle MQTT-API-Aufrufe für eine einzelne Aufgabe isoliert, und macht Semaphore oder andere Synchronisationsprimitive überflüssig.
Die Bibliothek verwendet eine Thread-sichere Messaging-Warteschlange (oder einen anderen Kommunikationsmechanismus zwischen Prozessen), um alle Anfragen zum Aufrufen von MQTT-APIs zu serialisieren. Die Messaging-Implementierung ist über eine Messaging-Schnittstelle von der Bibliothek entkoppelt, sodass die Bibliothek auf andere Betriebssysteme portiert werden kann. Die Messaging-Schnittstelle besteht aus Funktionen zum Senden und Empfangen von Zeigern auf die Befehlsstrukturen des Agenten und Funktionen zur Zuweisung dieser Befehlsobjekte, sodass der Anwendungsautor die für seine Anwendung geeignete Speicherzuweisungsstrategie festlegen kann.
Die Bibliothek ist in C geschrieben und so konzipiert, dass sie mit ISO C90
Diese Bibliothek kann frei verwendet werden und wird unter der MIT-Open-Source-Lizenz
| Codegröße des CoreMQTT-Agenten (Beispiel generiert mit GCC für ARM) Cortex-M | ||
|---|---|---|
| Datei | Mit -O1-Optimierung | Mit -Os-Optimierung |
| core_mqtt_agent.c | 1,7 K | 1,5 K |
| core_mqtt_agent_command_functions.c | 0,3 K | 0,2 K |
| core_mqtt.c (CoreMQTT) | 4,0 K | 3,4 K |
| core_mqtt_state.c (CoreMQTT) | 1,7 K | 1,3 K |
| core_mqtt_serializer.c (CoreMQTT) | 2,8K | 2,2 K |
| Schätzungen insgesamt | 10,5 K | 8,6 K |