对libuv的C++封装

2019-03-19
阅读 2 分钟
10.9k
uv-cpp是一个基于libuv的C++封装网络库,基于本人实际项目需求开发并使用。接口较为简单易用,并对libuv一些特性做了扩展及优化。压测结果稳定、高效。未发现内存泄漏及崩溃相关bug。

C++ Actor库orca简介(四):网络消息通信

2018-11-11
阅读 3 分钟
2.7k
orca的网络部分基于libuv,并对libuv做了一层C++封装:[链接]orca的项目中编译了libuv1.22.0的vs2017及gcc5.50版本,如需使用其他版本,则需自己编译相应版本。对于orca来说,没有客户端及服务器的概念。orca中每一个Framework都是一个端点(EndPoint)。端点与端点间会建立连接、发送识别协议及通信。orca的每一个端点...

C++ Actor库orca简介(三):orca错误处理

2018-11-10
阅读 3 分钟
1.8k
orca中定义一套错误号码及提示信息以及断言,当程序发生错误时候,会输出错误信息或者终止程序。在orca/base/error/ErrorInfo.h中可以到错误号码的定义如下:

C++ Actor库orca简介(二):消息通信及邮箱

2018-11-10
阅读 2 分钟
2k
当Actor对象被构造时,orca会为其申请一个邮箱,用于消息通信。当Actor对象被析构后,orca会回收该邮箱并用于其他新申请Actor对象。orca通过索引来分配、回收邮箱。其中申请邮箱的时间复杂度为o(1),回收的实现复杂度为o(logN)。图:orca邮箱结构

C++ Actor库orca简介(一):消息封装及类型

2018-11-08
阅读 2 分钟
4.7k
orca通过REGISTER_MESSAGE_TYPE宏定义消息类型。orca的消息类型可以是std::string,也可以是自定义消息类型,但是需要实现相应接口。例: