ACE - Reactor源码总结整理】的更多相关文章

ACE源码约10万行,是c++中非常大的一个网络编程代码库,包含了网络编程的边边角角. ACE代码可以分三个层次:OS层.OO层和框架层: OS层主要是为了兼容各个平台,将网络底层API统一化,这一层用户不关心. OO层则是对一些常用的数据结构或方法进行OO封装,方便上层使用,包括socket方法,进程.线程和他们的同步机制等. 框架层实现了一些优秀的网络框架. 1 ACE_INET_Addr 类名 ACE_INET_Addr 所在文件 INET_Addr.h 功能 处理和存储IP.端口.协议类…
http://blogs.readthedocs.org/   ACE的学习笔记,根据源码分析了Reactor模型的实现. 因为笔记编写技术限制,这里仅列出主要目录,如有可能可以抽空复制到该Blog中. 目录如下: 1. ACE学习综述 1.1. ACE项目的优点 1.2. ACE项目的缺点 1.3. Reactor使用过程中的注意事项 2. ACE_Select_Reactor_T 介绍 2.1. 类继承图 2.2. 类协作图 2.3. 类主要成员变量 2.4. 事件处理函数调用图 2.5.…
前几篇文章也提到过,ACE的所有源文件和头文件都杂乱堆在了ACE_wrappers/ace目录下.这样的代码组织方式给学习ACE带来了很大的困难,很多朋友在看到ace目录下庞大的代码的时候,几乎就失去了学习ACE的信心^_^.因此,我们有必要对ACE的代码进行重新组织,以降低学习曲线.下面,我将给出我对ACE源码的划分方法.其实,我也是刚学习ACE没有多久,对ACE的了解还甚少,所以,我的源码划方式法不一定十分正确,这里共享出来,仅供大家参考. 其实,在ACE的帮助文档里,ACE-subsets…
element-ui button组件 radio组件源码分析整理笔记(一) element-ui switch组件源码分析整理笔记(二) element-ui inputNumber.Card .Breadcrumb组件源码分析整理笔记(三) element-ui Progress.Badge.Alert组件源码分析整理笔记(四) element-ui Tag.Dialog组件源码分析整理笔记(五) element-ui input组件源码分析整理笔记(六) element-ui Pagina…
Carousel 走马灯源码分析整理笔记,这篇写的不详细,后面有空补充 main.vue <template> <!--走马灯的最外层包裹div--> <div class="el-carousel" :class="{ 'el-carousel--card': type === 'card' }" @mouseenter.stop="handleMouseEnter" @mouseleave.stop="…
原文出自http://www.cnblogs.com/binchen-china,禁止转载. 上篇提到用Reactor模式,利用I/O复用,获得Socket数据并且实现I/O层单线程并发,和dispatch层把不同的I/O绑定到了不同的Event中去处理.也就是已经实现了多个client连接和通信,且可以把不同的I/O与Event句柄绑定,指定处理函数. 但是问题来了,多个用户连接时,I/O层可以通过复用以较快的速度处理连接和把过来的数据关联到绑定的Event函数执行.但是绑定Event函数获得…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
来源:http://yuez.me/laravel-yuan-ma-jie-du/?utm_source=tuicool&utm_medium=referral 目录 入口文件 index.php Illuminate\Foundation\Application 类 注入所有基础 Service Provider 入口文件 index.php 一个基于Laravel的应用,当WEB服务器接受到来自外部的请求后,会将这个这个请求解析到 应用根目录的 public/index.php 中. Lar…
Google官方下载源码使用的系统Ubuntu系统,不过现在我们需要在Windows系统中下载Android源码文件. 网站的地址是:https://android.googlesource.com/ 里面包括Android系统各个部分的源码,我们只需要下载platform就行 点击进入即可看到下载地址 地址是:https://android.googlesource.com/platform/manifest 1.准备工作 Android的源代码管理使用的是Git,所以安装Git必不可少,Wi…
Button组件 button.vue <template> <button class="el-button" @click="handleClick" :disabled="buttonDisabled || loading" :autofocus="autofocus" :type="nativeType" :class="[ type ? 'el-button--' +…
源码如下: <template> <div class="el-switch" :class="{ 'is-disabled': switchDisabled, 'is-checked': checked }" role="switch" :aria-checked="checked" :aria-disabled="switchDisabled" @click="switchV…
inputNumber组件 <template> <!--@dragstart.prevent禁止input中数字的拖动--> <div @dragstart.prevent :class="[ 'el-input-number', inputNumberSize ? 'el-input-number--' + inputNumberSize : '', { 'is-disabled': inputNumberDisabled }, { 'is-without-co…
input 输入框组件 源码: <template> <div :class="[ type === 'textarea' ? 'el-textarea' : 'el-input', inputSize ? 'el-input--' + inputSize : '', { 'is-disabled': inputDisabled, 'el-input-group': $slots.prepend || $slots.append, 'el-input-group--append…
element-ui源码的版本是2.4.9 pagination.js import Pager from './pager.vue'; import ElSelect from 'element-ui/packages/select'; import ElOption from 'element-ui/packages/option'; import ElInput from 'element-ui/packages/input'; import Locale from 'element-ui…
Message组件源码: main.js import Vue from 'vue'; import Main from './main.vue'; import { PopupManager } from 'element-ui/src/utils/popup'; import { isVNode } from 'element-ui/src/utils/vdom'; let MessageConstructor = Vue.extend(Main); let instance; let in…
Steps步骤条组件源码: steps.vue <template> <!--设置 simple 可应用简洁风格,该条件下 align-center / description / direction / space 都将失效.--> <div class="el-steps" :class="[ !simple && 'el-steps--' + direction, simple && 'el-steps--s…
Collapse 折叠面板源码: collapse.vue <template> <!--一组折叠面板最外层包裹div--> <div class="el-collapse" role="tablist" aria-multiselectable="true"> <slot></slot> </div> </template> <script> exp…
简单写了部分注释,upload-dragger.vue(拖拽上传时显示此组件).upload-list.vue(已上传文件列表)源码暂未添加多少注释,等有空再补充,先记下来... index.vue <script> import UploadList from './upload-list'; import Upload from './upload'; import ElProgress from 'element-ui/packages/progress'; import Migrati…
Rate组件源码比较简单,有添加部分注释 main.vue <template> <!--valuenow当前的评分 valuetext当前显示的文本--> <div class="el-rate" @keydown="handleKey" role="slider" :aria-valuenow="currentValue" :aria-valuetext="text" ar…
MessageBox组件源码,有添加部分注释 main.vue <template> <transition name="msgbox-fade"> <!--包裹弹框的div--> <div class="el-message-box__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClic…
收集的经常使用Github上比較优秀的项目,希望对大家日常开发有所帮助: AndroidSlidingMenu   https://github.com/jfeinstein10/SlidingMenu https://github.com/SpecialCyCi/AndroidResideMenu https://github.com/SimonVT/android-menudrawer ActionBar https://github.com/ManuelPeinado/FadingActi…
Progress进度条组件 <template> <!--最外层--> <div class="el-progress" :class="[ 'el-progress--' + type, status ? 'is-' + status : '', { 'el-progress--without-text': !showText, 'el-progress--text-inside': textInside, } ]" role=&qu…
Tag 标签组件 <script> export default { name: 'ElTag', props: { text: String, closable: Boolean, //是否可关闭 type: String, //主题 hit: Boolean, //是否有边框描边 disableTransitions: Boolean, //是否禁用渐变动画 color: String, //背景色 size: String //尺寸 }, methods: { handleClose(e…
twisted reactor 实现源码解析 1.      reactor源码解析 1.1.    案例分析代码: from twisted.internet import protocol from twisted.internet.protocol import Factory from twisted.protocols.basic import LineReceiver from twisted.internet import reactor class Chat(LineReceiv…
源码层面整理下我们常用的操作RDD数据处理与分析的函数,从而能更好的应用于工作中. 连接Hbase,读取hbase的过程,首先代码如下: def tableInitByTime(sc : SparkContext,tableName : String,columns : String,fromdate: Date,todate : Date) : RDD[(ImmutableBytesWritable,Result)] = { val configuration = HBaseConfigura…
温馨提示:本资源由源码天堂整理提供下载转载时请留下链接说明:http://code.662p.com/view/9174.html安卓短信拦截木马源码主要功能就是开机后台启动,拦截本机收到的短信并且转发到指定号码,同时使原短信在手机上不显示,如果不慎安装了这玩意,什么支付宝安全什么财付通安全,只要是有手机短信验证的安全都不叫安全了.木马apk重新签名后手机360免杀,可能手机上的安全360还停留在核对apk的md5或者hash的阶段.也就是所谓的云查杀.但是360会默认提示短信权限.另外我百度了…
最近在看AFNetWorking的源码,整理出自己的一点思路.先从一个最简单的网络请求看: NSString *urlStr = [NSString stringWithFormat:@"http://baidu.com/1/1"]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *dic = @{"}; [manager POST:…
在cachedInput.output.watch三大文件系统中,output非常简单,没有必要讲,其余两个模块依赖于input模块,而input主要是引用了graceful-fs的部分API,所以这节来讲讲graceful-fs. 上一节整理的源码如下: var fs = require('fs') // ...工具方法 module.exports = patch(require('./fs.js')) if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATC…
本篇文章内容包括基础知识(GAC.程序集强签名.友元程序集).编译过程.注册GAC.添加工具箱.多语言支持.运行时和设计时调试 源码地址 链接:http://pan.baidu.com/s/1eQm1ZFk 密码:39qw 关于编译源码,前前后后折腾了太久,自己折腾,到官网折腾,到DXPER折腾,今天,总算有个结局了 编译环境 工具:Visual Studio 2010 源码:DXperience source code14.2.3.14339(源码已经整理好,不需要任何改动,解决方案文件放在s…
这是我在编译android源码时整理记录的编译步骤和错误解决方法,期间参考了一些网上的博客和教程. 第一步: 安装ubuntu12.04,分配一盘空间50G,2G内存.如果分配1G内存编译时将报错.(我是在虚拟机中安装ubuntu,分配了50G空间,编译源码需要空间较大,建议分配50G或更多,使用wubi安装最大只能分配30G). 第二步: 安装JDK,此处选用JDK版本为JDK6-6u29 32位,下载链接http://www.oracle.com/technetwork/java/javas…