本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CoreMQTT 代理库
介绍
CoreMQTT 代理库是一个高级 API,它增加了线程安全性CoreMqtt 库. 它允许你创建一个专用的 MQTT 代理任务,该任务在后台管理 MQTT 连接,而不需要其他任务的任何干预。该库提供了与 CoreMQTT API 相当于线程安全的等价物,因此它可以在多线程环境中使用。
MQTT 代理是一项独立的任务(或执行线程)。它是唯一允许访问 MQTT 库 API 的任务来实现线程安全。它通过隔离对单个任务的所有 MQTT API 调用进行序列化访问,并且消除了对信号量或任何其他同步基元的需求。
该库使用线程安全消息队列(或其他进程间通信机制)来序列化所有调用 MQTT API 的请求。消息传递实现通过消息传递接口与库分离,该接口允许将库移植到其他操作系统。消息传递接口由用于发送和接收代理命令结构指针的函数组成,以及用于分配这些命令对象的函数组成,这使应用程序编写者能够决定适合其应用程序的内存分配策略。
该图书馆用 C 语言编写,旨在符合ISO C90
这个图书馆可以免费使用,并在MIT 开源许可
CoreMQTT 代理大小(使用 GCC in ARM Cortex-M 生成的示例) | ||
---|---|---|
文件 | 使用-O1 优化 | 使用-OS 优化 |
core_mqtt_agent.c | 1.7K | 1.5K |
core_mqtt_agent_command_函数s.c | 0.3K | 0.2K |
core_mqtt.c (coreMQTT) | 3.0K | 2.6K |
core_mqtt_state.c (coreMQTT) | 1.4K | 1.1K |
core_mqtt_serializer.c (coreMQTT) | 2.5K | 2.0K |
估计值总计 | 8.9K | 7.4K |