我有一个连接,它通过串行端口(是的,串行端口、arduino、rf24 卡等)从自定义网络协议发送和接收数据。
我希望能够执行查询串行端口等待响应数据包的非阻塞代码。我已经知道当我使用无法修改的第 3 方库时可以使用 deferToThread,但事实并非如此,我可以修改代码。我只想知道如何实现自己的非阻塞代码,该代码返回 Deferred 并稍后返回结果。
例如:
- 发送 ID 为 1 的数据包并等待具有相同 ID 的 ACK
- 当 ID 为 1 的数据包在接收的数据包队列中不可用时继续等待
- 如果找到 ID 为 1 的数据包,则返回结果,以便“调用”回调(对冗余感到抱歉)
谢谢!