2010年度总结

这篇年度技术总结回顾了作者2010年在Linux系统上的工作,涉及Multicast原理、DServer架构、ACE库的深入理解和使用,包括ACE任务的重构、MD5和HMAC算法研究。此外,还提到了在vxWorks系统上的协议开发,如IGMP,以及对C++、Boost和开源架构OpenSAF的学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客http://blog.youkuaiyun.com/livelylittlefish 贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

blog 定位为技术 blog ,因此,本篇年度总结,从技术上回顾自己这一年的所学、所感。

 

1. 本年度的主要工作内容

 

本年度的主要工作内容主要是根据自己的 weekly report 总结而来,有些其他的研究或工作可能不会被回顾并写入,但也能充分反映该年度所做的工作。

 

进一步理解 Multicast 原理和规范 (DOCSIS3.0) ,理解 DServer 整体架构及其平台模块,包括 ICC RPC TMM LOCK 等,熟悉其他模块如 QOS BVM CLI LDB 等,熟练掌握在 Linux 系统上编程、调试方法。

重构 MCAST 模块,增强对象的封装性,修改程序结构,使其结构更清晰、更具可扩展性和可维护性;修改代码使其更具可读性;修改代码提高程序性能,例如,使用 MibBrowser 创建 Row Object 时的性能改善;删除某些不必要的包含头文件,删除某些类中保存的其他对象或指针,降低模块间的依赖;使用 pc-lint 等静态分析工具分析代码并修改。

 

研究并实验本系统中各个模块使用的 MD5 算法和 HMAC 算法,如 AM CLI 等,删除各模块自己实现的算法,统一其实现,并放入 utils 目录。了解 MD5 算法和 HMAC 算法的实现原理。

 

学习和使用 ACE ,掌握其设计原则、原理,掌握其使用的各种设计模式(这项目标还未达到)。

利用 ACE ACE_Task 的自然退出的例子,研究涉及到的各个类及代码业务流程,如 ACE_Task, ACE_Reactor, ACE_Socket ACE_Message_Queue ACE_Message_Block ACE_Event_Handler 等。因例子代码较多,希望能够全部自动编译、根据输入自动执行并自动保存结果,因此又研究了 Expect TCL ,并写相关脚本自动编译、自动执行。并将该 ACE_Task 自然退出模型成功地应用到 AM 模块中。

 

研究 MCAST BVM 中与 ACE_Task 相关的代码,并根据此模块 task 特点,修改代码,也使 ACE_Task 自然退出。

 

研究 ACE 的其他问题,如下。

ACE compile/install/debug on Linux /win32 ;

ACE trace/log system;

ACE_Select_Reactor object memory structure analysis;

Handler repository object of ACE_Select_Reactor analysis;

Handler Set object of ACE_Select_Reactor analysis;

the flow of register_handler ACE_Pipe read handler during construct ACE_Select_Reactor;

the flow of register_handler/remove_handler a new handler in the same thread on Linux/win32 platform;

the flow of register_handler/remove_handler a new handler in another thread on Linux/win32 platform;

the flow of notify of ACE_Select_Reactor;

why not call notify during ACE_Select_Reactor construction?

why not call notify when thread A registers user-defined handlers?

why not call notify when thread A removes user-defined handlers?

why does it call notify when thread B registers a new handlers?

why does it call notify when thread B removes a new handlers?

handle_events and select/poll analysis;

why not call notify when thread B registers a signal handlers?

ACE_Semaphore construction flow with name.

ACE_Semaphore construction flow without name.

why does it not succeed to register a handler with negative value?

how handle_exception will be called by handle_events using notify to send the notification with ACE_Reactor_Mask::EXCEPT_MASK?

what is the flow of calling the overrided handle_close?

what is the flow of calling the overrided handle_exception method

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值