本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CoreMQTT 代理库
此页面上的内容可能不是 up-to-date。有关最新更新,请参阅 Freertos.org 图书馆页面
介绍
CoreMQTT 代理库是一个高级别 API,它为... 增加了线程安全性CoreMQTLARARARAR。它允许您创建专用 MQTT 代理任务,该任务在后台管理 MQTT 连接,不需要其他任务的任何干预。该库提供与 CoreMQTT 的 API 等效的线程安全工具,因此它可以在多线程环境中使用。
MQTT 代理是一个独立的任务(或执行线程)。它是唯一允许访问 MQTT 库的 API 的任务,从而实现线程安全。它通过将所有 MQTT API 调用隔离到单个任务来序列化访问,并且无需使用信号量或任何其他同步基元。
该库使用线程安全消息队列(或其他进程间通信机制)来序列化所有调用 MQTT API 的请求。消息传送实现通过消息传送接口与库分离,允许将库移植到其他操作系统。消息传送接口由用于发送和接收指向代理命令结构的指针的函数和分配这些命令对象的函数组成,这允许应用程序编写者决定适合其应用程序的内存分配策略。
该库以 C 语言编写,旨在符合 ISO C90 和 MIS
该库可以免费使用,并在麻省理工学院开源许可证
CoreMQTT 代理的代码大小(使用 GCC 为 ARM Cortex-M 生成的示例) | ||
---|---|---|
文件 | 使用-O1 进行优化 | 使用-Os 优化 |
core_mqtt_agent.c | 1.7K | 1.5K |
core_mqtt_agent_command_functions. | 0.3K | 0.2K |
core_mqtt.c (coreMqtt) | 4.0K | 3.4K |
core_mqtt_state.c (coreMqtt) | 1.7K | 1.3K |
core_mqtt_serializer.c (coreMqtt) | 2.8K | 2.2K |
估计数总额 | 10.5K | 8.6K |