PhxRPC
文章平均质量分 81
Nickqiao
这个作者很懒,什么都没留下…
展开
-
PhxRPC源码分析(一)BlockTcpStream
phxrpc简介phxrpc是微信开源的轻量级rpc框架,支持协程模式,代码量不大,很适合拿来学习一个。定制输入输出流phxrpc使用标准输入输出的方式封装了socket,使用<<和>>来实现读写。 实现类图如下: streambufstreambuf是一个流缓冲区,包含输入和输出缓冲区。向ostream写入时,数据会放到输出缓冲区中,从istr...原创 2019-11-13 20:58:09 · 1311 阅读 · 0 评论 -
PhxRPC源码分析(二)uthread_context
uthread协程的概念在coroutine源码分析中有介绍。phxrpc默认使用ucontext作实现,同时还有boost优化版本。UThreadContextUThreadContext是定义了协程接口的基类,并且有一个静态函数对象,用来创建协程上下文,其应该是子类的DoCreate函数,UThreaStackMemoryUThreaStackMemory是每个协程...原创 2018-03-03 19:14:34 · 1230 阅读 · 0 评论 -
PhxRPC源码分析(三) RPC
RPC整个RPC的定义基本都在hsha_server这个文件。主要有一下几个类:DataFlow :数据流,所有请求和应答分别保存在两个线程安全的队列中。HshaServerStat HshaServerQos: 统计运行状态,独立线程。Worker :独立的工作线程,如果是协程模式,每个worker会有多个协程。WorkerPool:工作池,管理Worker。HshaServe...原创 2019-11-13 20:57:48 · 1009 阅读 · 0 评论