首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
buttonrpc专题
开源软件:buttonrpc (一)
开源软件:buttonrpc (一) 本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。 开源地址编译运行 buttonrpcbuttonrpc_cpp14 原理 RPCbuttonrpc 分析 Call ID映射:buttonrpc.hpp序列化和反序列化:Serializer.hpp网
阅读更多...
开源软件:buttonrpc (C++语法分析)
开源软件:buttonrpc (C++语法分析) 本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。 C++ 语法分析 templatetypenamestd::bindstd::is_same<R, void>::valuestd::enable_ifstd::decaystd::rev
阅读更多...
远程过程调用-buttonrpc源码解析7-函数返回值
前一篇文章讲述了服务端如何进行函数调用,但并未分析函数返回值,本节进行重点分析。 在负责拆分委托函数的callproxy_函数内,最终得到了型如 typename type_xx<R>::type r = call_helper<R>(ff, args);或者 typename type_xx<R>::type r = call_helper<R>(func, args);的调用形式。 1、函数c
阅读更多...
远程过程调用-buttonrpc源码解析6-函数调用
前一篇文章讲述了服务端如何利用std::bind绑定函数,统一函数调用形式。本片文章继续分析服务端如何调用绑定后的函数。 解惑:前一篇里buttonrpc源码采用了buttonrpc::callproxy<F>或buttonrpc::callproxy<F, S>函数作为绑定的调用对象,而将func作为绑定的参数。那为什么不直接使用型如std::bind(func, args...)或std::b
阅读更多...
远程过程调用-buttonrpc源码解析1-序列化
分析buttonrpc中的序列化 源码提供了StreamBuffer类,该类继承自vector<char>,用来存储数据。 // 此处省略实现...class StreamBuffer : public vector<char>{}; 并提供了Serializer类,用来序列化数据。 // 此处省略部分实现...class Serializer{public:enum ByteO
阅读更多...