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 esserlo. up-to-date Consulta la pagina della libreria di Freertos.org
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 threadsafe a CoreMQTT APIs, quindi può essere utilizzata in ambienti multithread.
L'agente MQTT è un task 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 a MQTT. APIs 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
Questa libreria può essere utilizzata liberamente ed è distribuita con la licenza open source MIT.
Dimensione del codice dell'agente CoreMQTT (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 |