Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Libreria CoreMQTT Agent
Nota
Il contenuto di questa pagina potrebbe non essere aggiornato. Consulta la pagina della FreeRTOS.org libreria
Introduzione
La libreria CoreMQTT Agent è un'API di alto livello che aggiunge la sicurezza dei thread a. libreria CoreMQTT Consente di creare un'attività di agente MQTT dedicata che gestisce una connessione MQTT in background e non richiede l'intervento di altre attività. La libreria fornisce equivalenti thread-safe alle API di CoreMQTT, quindi può essere utilizzata in ambienti multithread.
L'agente MQTT è un'attività indipendente (o thread di esecuzione). Garantisce la sicurezza dei thread essendo l'unica attività autorizzata ad accedere all'API della libreria MQTT. Serializza l'accesso isolando tutte le chiamate API MQTT in una singola attività ed elimina la necessità di semafori o altre primitive di sincronizzazione.
La libreria utilizza una coda di messaggistica thread-safe (o altro meccanismo di comunicazione tra processi) per serializzare tutte le richieste di chiamata alle API MQTT. L'implementazione della messaggistica è disaccoppiata dalla libreria tramite un'interfaccia di messaggistica, che consente il trasferimento della libreria su altri sistemi operativi. L'interfaccia di messaggistica è composta da funzioni per inviare e ricevere puntatori alle strutture di comando dell'agente e da funzioni per allocare questi oggetti di comando, il che consente all'autore dell'applicazione di decidere la strategia di allocazione della memoria appropriata per la propria applicazione.
La libreria è scritta in C e progettata per essere conforme a ISO C90 e MISRA. C:2012
Questa libreria può essere utilizzata liberamente ed è distribuita con la licenza open source MIT.
| Dimensione del codice di CoreMQTT Agent (esempio generato con GCC per ARM) Cortex-M | ||
|---|---|---|
| File | Con ottimizzazione -O1 | Con ottimizzazione -Os |
| 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,0K | 3,4K |
| core_mqtt_state.c (CoreMQTT) | 1,7 K | 1,3 K |
| core_mqtt_serializer.c (CoreMQTT) | 2,8K | 2,2 K |
| Stime totali | 10,5 K | 8,6K |