从这个系列开始  陆续记录整个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来存储。

 

 

 

   

posted on 2014-08-25 11:01  fuck_shit  阅读(230)  评论(0编辑  收藏  举报