- mprpc框架
- caller
- callee
mpcpc框架的整体结构如下所示:
发起调用时:
user发起远程调用(local call),user-stub对要调用的方法所需要的参数进行序列化(pack argument),数据序列化使用protobuf。RPC-runtime进行传输(transmit),状态调整至wait,然后等待运行结果的返回。中间的网络业务call packet由muduo库进行。
获取到被调用方的返回结果时:
RPC-runtime获取到callee发回的数据(receive),由user-stub对结果进行反序列化(unpack result),数据反序列化使用protobuf,最后由user获取其结果(local return)。
收到调用请求时:
由muduo库实现网络业务后,callee收到调用请求。由RPC-runtime模块获取数据包(receive),Server-stub对参数进行反序列化(unpack argument),Server对方法进行调用(call),通过调用(work)获取结果。
被调用方获取到结果时:
Server对执行结果(正确的执行结果或者错误信息)进行返回(return),由Server-stub对结果序列化(pack result),并传递给RPC-runtime,RPC-runtime对数据进行传输(transmit),同样result packet由muduo库进行网络底层传输。



