承接前一篇, 服务器采用C编写, 逻辑层使用LUA, 搭配开源mongodb c driver开发异步查询接口.
有了上一次的改造, 这次来说说是如何使用改造后的接口实现异步查询.
首先, 再来理清一下思路, 现在的一次完整同步查询被拆分成3个步骤:
1.创建并发送请求
2.接受返回结果消息头
3.接受返回结果数据并做相应的回调处理
为此我们需要2个结构来处理这个过程:
上图的第一个结构为网络连接内部参数, 用于每次回调处理recv的时候取数据.
第二个结构为hash表中的数据, 用每次异步请求ID作为KEY.</