Message framework 是对消息循环的封装和扩展,Chromium在消息循环中增加处理内部任务的工作.将内部工作处理寄生在Windows的消息循环中,会有一个问题,就是没有Windows自身消息,而有Chromium内部工作,此时内部动作就无法及时处理.Chromium这里定义了一个自定义消息kMsgHaveWork,用来在Chromium内部有工作的时候,驱动Windows的消息一直会运行. 从代码级别来说,Chromium内部工作队列被塞入工作时Post一条kMsgHaveWor…
在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), &delegate); 从这开始窗口相关的探索,目的就是要找到WNDCLASS注册与CreateWindow的地方.Window类顾名思义就是的窗口.chromium对原始窗口做的封装.window相关的类主要有Window / WindowDelegate / WindowWin / Widge…
ChromiumFrame的入口函数在main.cpp中,打开main.cpp.中包含3个类和_tWinMain函数._tWinMain就是我们要找的入口函数.我做了部分注释: int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { // 1. 支持OLE,退出管理机制,GDIPlus 初始化,本地资源管理(new) HRESULT hRes =…
本人能力有效,面对chromium庞大的代码就头大.还是先由前辈的chromiumFrame入手. 1. chromeFrame概貌 chromiumFrame是前辈的心血之作,以最小化的方式抽出chromium界面部分的代码,并以demo的方式展现给我.让我可以不用直接面对chromium这样的庞然大物. 先看看chromiumFrame目录结构, animation,静态库,动画类. base,基础静态库,一些logging,只能指针等基础的东东. gfx,画图的基础库,对windows上的…
文章列表: <Memcached源代码分析 - Memcached源代码分析之基于Libevent的网络模型(1)> <Memcached源代码分析 - Memcached源代码分析之命令解析(2)> <Memcached源代码分析 - Memcached源代码分析之消息回应(3)  > <Memcached源代码分析 - Memcached源代码分析之HashTable(4) > <Memcached源代码分析 - Memcached源代码分析之增删…
本打算在CSDN写完这系列文字,却因为在CSDN中误删了一篇blog,该篇blog被移到了回收站.然而CSDN居然没有从回收站撤销删除的操作方法.联想到之前CSDN泄密的问题,其可靠性值得怀疑.随转向CNBlog来写这些文字. 偷得浮生半日闲.忙中偷闲看看chromium代码.看过一段,不禁感慨,不亏是一流的公司,写出的架构也是不一般.不看代码,就凭chrome在windows上运行的效率也能感受到chromium代码上的高效. 本人能有幸看到chromium的源代码,还要感谢google为开源…
分析的内核版本号截止到2014-04-15.基于1.05正式版.blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样,则是未深究理解部分. Raw-OS官方站点:http://www.raw-os.org/ Raw-OS托管地址:https://github.com/jorya/raw-os/ 有了前一讲queue的基础后,这次来说说queue_size这个模块,前一讲的queue通信,知道queue在通信时,为了加快数据的传递速度.是不直接发送数据的详细内容.…
一. 介绍 借助Spring,有多种异步消息的可选方案,本章使用Jms.Jms的消息模型有两种,点对点消息模型(队列实现)和发布-订阅消息模型(主题). 图1.点对点消息模型(一对一) 图2.发布-订阅消息模型(一对多) 二. 仅适用Jsm import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; imp…
分析的内核版本号截止到2014-04-15,基于1.05正式版.blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样,则是未深究理解部分. Raw-OS官方站点:http://www.raw-os.org/ Raw-OS托管地址:https://github.com/jorya/raw-os/ 有了之前的queue和queue_size的解读之后.这个queue_buffer就很之简单了~对于queue是转发消息的指针,queue_size则是转发消息指针和消息…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…