1 Star 0 Fork 22

nbboy / MessageWait

forked from 橘色的喵 / message_bus 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
橘色的喵 提交于 2015-06-16 09:39 . Update README.md

#MessageWait

设计思路

基于消息的程序架构中,在发送一个request消息后可能会遇到这样的情况

  • 1) 等到response消息,其中response分为肯定回答和否定回答。
  • 2) 在规定时间内没有收到回复。

往往我们的业务中需要等到这两个结果后再继续执行下面的业务,因而我提供了两种解决办法:

  • 一种是同步方法,在发送request消息后挂起当前线程,当收到消息或者超时后激活当前线程,根据返回结果,继续处理剩下的业务;
  • 另一种是异步方法,采用回调的方法调用响应函数,维护一个定时器,不停检查是否有超时消息产生,并调用对应回调函数。

详细流程请查看doc目录中的word文档

说明

该模块本身是支持windows和Linux模块的,但是我只提供了vs2010工程。

使用到了poco库和boost库,使用poco库的部分完全可以使用boost代替。

引用的boost和poco库由于比较大,因而没有上传,需要读者自己去下载,工程路径也需要根据实际修改。 boost库下载地址,poco库下载地址

1
https://gitee.com/lazymather/MessageWait.git
git@gitee.com:lazymather/MessageWait.git
lazymather
MessageWait
MessageWait
master

搜索帮助