- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 thrift源码研究-server类研究总结
server类处于thrift架构的最高层,用于服务器。 下面将对thrift的各种server类进行介绍。1、所有server类都是继承TServer;2、所有server类处理请求的流程基本相同:(1)首先获取连接client = serverTransport_->accept();(2)然后获取thransport和protocolinputTransp
2013-01-23 21:59:38 3555
原创 thrift源码研究-transport类体系研究总结
transport类体系架构与TProtocol类体系架构一样,所以这里就不重复叙述了,想了解可转去TProtocol类体系架构分析那篇。 下面将对transport层的几种transport类进行介绍:1、TSocket 阻塞型socket, 用于客户端,采用系统函数read和write进行读写数据;2、TServerSocket 非阻塞型socket, 用于服务器端, acce
2013-01-23 21:54:38 9443
转载 thrift源码研究-TJSONProtocol代码分析
本文转载TJSONProtocol:http://www.cnblogs.com/brucewoo/archive/2012/06/13/2547149.htmlJSON (JavaScript Object Notation)是一种数据交换格式,是以JavaScript为基础的数据表示语言,是在以下两种数据结构的基础上来定义基本的数据描述格式的:1) 含有名称/值对的集合;2) 一个
2013-01-23 21:43:13 2922
转载 thrift源码研究-TCompactProtocolT代码分析
本文转载TCompactProtocolT:http://www.cnblogs.com/brucewoo/archive/2012/06/11/2545719.html这个协议类采用了zigzag 编码,这种编码是基于Variable-length quantity编码提出来的,因为Variable-length quantity编码对于负数的编码都需要很长的字节数,而zigzag
2013-01-23 21:36:26 1826
转载 thrift源码研究-TBinaryProtocolT代码分析
接下来分析具体的协议类,本人看完具体协议类的代码后,再考虑写总结时发现,有人已先我一步对thrift的具体协议类进行了分析,而且较符合我的胃口,以于乎,我将转载他人的成果。本文转载TBinaryProtocolT:http://www.cnblogs.com/brucewoo/archive/2012/06/05/2537434.html TBinaryProtocolT是Thrif
2013-01-23 21:32:36 2294
原创 thrift源码研究-TProtocol类体系架构分析
这里的协议是指数据格式的打包和解包方式。 TProtocol类体系属于thrift框架中的协议层,它提供多种协议,如TBinaryProtocolT、TCompactProtocolT、TJsonPotocolT和TDenseProtocolT等,以支持不同应用场景的数据传输,它的类图(转载)如下: 架构分析 由以上类图可以发现所有的协议类都从TProtocol类直接或
2013-01-23 21:15:58 5771
原创 thift源码研究-客户端代码分析
这部分代码是用于客户端请求服务器,它由thrift compiler自动生成。使用与前一篇一样的例子:thrift文件/** * gateway service definition. */service GatewayService{ i32 GetCompereCount( 1:i32 channel_id ), list GetCompereList( 1
2013-01-22 21:02:20 2296
原创 thift源码研究-TProcessor类体系
TProcessor类体系属于Processor层,是协议层与用户实现的服务代码的纽带,它由基类TProcessor和thrift compiler生成的Processor代码组成。例如:thrift文件/** * gateway service definition. */service GatewayService{ i32 GetCompereCount( 1:
2013-01-22 20:42:01 2855
转载 linux定时器的实现方法
Linux提供定时器机制,可以指定在未来的某个时刻发生某个事件, 定时器的结构如下:-------------------------------struct timer_list {struct list_head list;unsigned long expires;unsigned long data;void (*function)(unsigned long)
2013-01-07 11:01:15 794
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人