摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。这个协议是Thrift支持的默认二进制协议,它以二进制的格式写所有的数据,基本上直接发送原始数据。因为它直接从TVirtualProtocol类继承,而且是一个模板类。它的模板参数就是一个封装具体传输发送的类,这个类才是真正实现数据传输的。这个类的定义上一节举例已经出现过了就不在列出来了。下面我就结合scribe的Log函数执行的具体过程来分析使用这个协议所执行的功能,看看二进制协议是怎样工作的。RPC调用使用到协议部分主要是在发送函数相关信息到服务器和接收服务器返回结果。现在.. 阅读全文
posted @ 2012-06-05 23:08 蔷薇理想人生 阅读 (6775) 评论 (0) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。这部分相关的类主要实现与协议相关的内容,这里说的协议是指对数据传输格式封装的协议,实现不同的协议来适合不同场景下的数据传输,因为在不同的场景下不同协议对于数据传输来说效率有很大的差别。下面是这个部分相关类的类关系图:由以上类图可以发现所有的协议类都从TProtocol类直接或间接继承,每一个协议类都有一个对应的生产对象工厂(协议工厂)。TProtocol是一个抽象的类,不能直接使用的,它有一个直接子类默认实现了所有方法(空实现),如果我们需要定义自己的数据传输协议可以直接从这个类继 阅读全文
posted @ 2012-06-05 00:01 蔷薇理想人生 阅读 (2686) 评论 (0) 编辑