我正在考虑将 mqtt 客户端实现从 IDFv4 移植到 IDFv5,但我遇到了一个似乎是大问题的问题。
以前*,可以在初始化客户端时设置一个“用户上下文”指针,然后该指针将在每个事件中交还。这遵循了 C 中事件驱动库的典型模式,其中调用者可以自由地将任何上下文与会话相关联,并在处理事件时可以访问它。
在 IDFv5** 中,我找不到对此的任何支持。更改/删除库的这样一个基本方面真的是故意的吗?如果是这样的话,我正在考虑对客户端代码进行重大重写。从它的外观来看,我将不得不建立和维护一个外部 esp_mqtt_client_handle_t 到用户上下文数据结构,以实现旧的 `user_context` 字段所做的。显然,我宁愿不必那样做。
2023-3-1 14:38:23
对于遇到此问题的任何其他人,正如我在 github 问题* 上向我指出的那样,发生的事情是 mqtt 库已将其事件通知从其自己的回调移动到常规的 esp_event 通知。因此,该功能仍然存在,但现在是通过 esp_event 实现的。
对于遇到此问题的任何其他人,正如我在 github 问题* 上向我指出的那样,发生的事情是 mqtt 库已将其事件通知从其自己的回调移动到常规的 esp_event 通知。因此,该功能仍然存在,但现在是通过 esp_event 实现的。
举报