RBL开发笔记一
从这个系列开始 陆续记录整个RBL开发的过程 废话不多说 直入主题
10:54:53 2014-08-25
今天开发任务:
RBL.h 的框架搭建出来 包括RBLServer RBLClient 和命令窗口
网络层: 因为我开发的目的就是linux 所有非linux系统的api 我都不会考虑。 在IO复用中我就选择了EPOLL模型 其他的实现 包括freeBSD等 主要原因是我没有精力去写
命令窗口:
struct RBLCommand
{
RBLCommand(const std::string& name_,RBLCommandProc *proc_,bool Write_):name(name_),proc(proc_),Write(Write_)
{ }
std::string name; //名字
RBLCommandProc *proc; //函数入口指针 用typedef 函数指针语法模式来实现
bool Write; //是否是写命令
};struct RBLCommand
{
RBLCommand(const std::string& name_,RBLCommandProc *proc_,bool Write_):name(name_),proc(proc_),Write(Write_)
{ }
std::string name; //名字
RBLCommandProc *proc; //函数入口指针 用typedef 函数指针语法模式来实现
bool Write; //是否是写命令
};
我要用这种模式来写的话 对RBL内核部分来讲 所有的查询都是调用这里面的操作符号,我用的语言采用C++ 也没有必要自己建造一个hash表造一个重复的车轮子:
写成上述的数据结构是出于这几点考虑的:
1) 编程复杂
2)这个命令表比较小,调用std::map 来做查找和gun_cxx::hash_map其实速度机会一样 而且这个命令表结构启动之后是不会扩大的 所以我就暂时就利用std::map来存储。
RBL开发笔记一的更多相关文章
- RBL开发笔记三
		
2014-08-26 20:06:24 今天就是在开发这个EPOLL来处理网络事件 封装较为健壮的EPOLL模型来处理基本的网络IO 1) 超时这个主题先没有弄 在开发EPOLL包括select/po ...
 - RBL开发笔记二
		
17:13:55 2014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要make ...
 - [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
		
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
 - EasyUI 开发笔记(二)
		
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
 - EasyUI 开发笔记(一)
		
由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...
 - [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
		
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
 - Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
		
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
 - Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
		
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
 - 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新
		
今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...
 
随机推荐
- 配置eclipse使能打开当前文件所在目录
			
配置方法如下:Run -> External Tools -> External Tools Configurations...右键Program,new 在右边的界面中: Locatio ...
 - Popwindow
			
popwindow的使用方法 View contentView = LayoutInflater.from(mContext).inflate( R.layout.dialog_homelist_vi ...
 - [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序实现继承
			
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第十一篇:为ASP.NET MVC应用程 ...
 - zabbix脚本报警
			
zabbix问端设置: 1,设置报警类型 2.设置用户及媒体类型 send_to 就是zabbix输出的$1,脚本中药发给谁 3.设置触发器和动作 触发器 test.temp_conn (自己写一个简 ...
 - storm-kafka组件中KafkaOffsetMetric相关统计指标说明
			
storm-kafka组件中KafkaOffsetMetric相关统计指标说明 storm-kafka是storm提供的一个读取kakfa的组件,用于从kafka队列中消费数据.KafkaOffset ...
 - jquery总结04-DOM节点操作
			
一般js操作节点 ①创建节点(元素文本)document.createElement innerHTML ②添加属性 setAttribute ③加入文档 appendChild 操作繁琐还有兼容性 ...
 - 从零开始HTML(三 2016/9/20)
			
1.HTML表单 HTML 表单用于搜集不同类型的用户输入.<form> 元素,HTML 表单用于收集用户输入.<form> 元素 ①<input> 元素,< ...
 - hdu2243考研路茫茫——单词情结(ac+二分矩阵)
			
链接 跟2778差不多,解决了那道题这道也不成问题如果做过基本的矩阵问题. 数比较大,需要用unsigned longlong 就不需要mod了 溢出就相当于取余 #include <iostr ...
 - STM32学习笔记(八) SPI总线(操作外部flash)
			
1. SPI总线简介 SPI全称串行外设接口,是一种高速,全双工,同步的外设总线:它工作在主从方式,常规需要至少4根线才能够正常工作.SPI作为基本的外设接口,在FLASH,EPPROM和一些数字通讯 ...
 - Jqplot 使用总结之一(线条及节点颜色)
			
好不容易抽出时间将Jqplot做下最后的总结,下面通过四个例子来学习Jqplot的一些常见技巧:示例1. 设置线条颜色(包括背景色及线条颜色的批量赋值) <!DOCTYPE html> & ...