04 2012 档案

摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。上一篇博客详细分析了GlusterFS之内存池的实现技术,今天我们看看GlusterFS是怎么使用这个技术的。第一步:分配和初始化:cli进程在初始化的过程中会涉及到内存池的建立和初始化,具体涉及到内存池初始化的代码如下(在cli.c文件中的glusterfs_ctx_defaults_init函数): 1 /* frame_mem_pool size 112 * 64 */ 2 pool->frame_mem_pool = mem_pool_new (call_frame_ 阅读全文
posted @ 2012-04-28 14:39 蔷薇理想人生 阅读(3370) 评论(0) 推荐(1) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。最近一直在研究glusterfs的源代码,自己也在上面做了一些小的改动。我最开始研究的是3.2.5这个版本,因为据同行和网上资料显示这个版本目前是最稳定的版本。glusterfs实现比较复杂,具体的设计思想和架构就不详细介绍了,网上有这方面的资料(CSDN博客里面就有很好介绍的文章)。 研究开源系统的一个好处就是可以充分了解它的实现,如果是看这方面的论文只能了解一些原理性的东西,但是我们真正做项目还需要实际的实现。很多开源系统可能本身不一定就很适合你的系统,但是如果可以改造那... 阅读全文
posted @ 2012-04-26 21:35 蔷薇理想人生 阅读(4285) 评论(2) 推荐(2) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。3生成C++语言代码的代码详解这个功能是由t_cpp_generator类实现(在文件t_cpp_generator.cc定义和实现),直接继承至t_oop_generator类(这个类是所有面向对象语言生成器类的直接基类,封装了面向对象语言生成器共有的特征与行为),而t_oop_generator又从t_generator继承(上面已经介绍),下面详细分析这个类是怎样生成C++语言的代码文件的。这个还有从上面介绍的generate_program函数开始说起,因为这个函数才是控制 阅读全文
posted @ 2012-04-25 23:06 蔷薇理想人生 阅读(4256) 评论(0) 推荐(2) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。2t_generator类和t_generator_registry类这个两个类的主要功能就是为生成所有语言的代码提供基础信息和提供具体代码生成器对象,上面就是调用这个两个类的方法来生成具体语言的代码生成器对象和执行生成代码的功能函数。下面主要分析两个函数的功能,一个是t_generator_registry类的get_generator函数,这个是一个静态的函数可以直接通过类调用;另一个是t_generator类的generate_program函数。(1)t_generator 阅读全文
posted @ 2012-04-25 00:24 蔷薇理想人生 阅读(2747) 评论(0) 推荐(2) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。又很久没有写博客了,最近忙着研究GlusterFS,本来周末打算写几篇博客的,但是由于调试GlusterFS的一些新增功能就用了整整的一天,还有一天就陪老婆大人逛街去了!今晚浏览完微博发现时间还早就来博客一篇,本篇博客内容主要是前一段时间研究的Thrift的代码生成器的源码详细分析,没有具体分析语法解析,因为是工具字段生成的代码,人是没有办法阅读的----到处都是跳转表!由于Thrift支持N多种语言,但是生成代码原理都差不多,我主要分析了C++相关代码生成。关于Thrift的使用 阅读全文
posted @ 2012-04-24 00:03 蔷薇理想人生 阅读(5057) 评论(4) 推荐(5) 编辑

点击右上角即可分享
微信分享提示