摘要: 观察者模式: 定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化时,会通知所有的 观察者对象,使他们能够自动更新自己。 UML图: 观察者模式提供了一种对象设计,让主题和观察者之间松耦合。两个对象之间松耦合,但是依然交互,不太清楚对方的具体细节。 就是不会像 阅读全文
posted @ 2017-06-05 17:06 yml435 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 参考:《linux多线程服务器编程 使用module网络库》(陈硕) 第二章 线程同步精要(P53-55)。 在多线程编程中,如果要用到修改共享资源的地方,如何正确地解决问题并提高效率? #include"mutex.h" #include<vector> #include<string> Mute 阅读全文
posted @ 2017-06-01 17:25 yml435 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 策略模式: 它定义了算法家族,分别封装起来,让它们之间可以相到替换,此模式用算法的变化不会影响到其它的客户。 此模式还是其实就是我们平常写的代码,其实设计模式就是告诉你如何写代码罢了,并不是什么搬来就可以用的方案,如果是这样,为鸟不直接写在库作框架调用就得了,因为它仅仅提供一种解决方案。它只是告诉你 阅读全文
posted @ 2017-05-31 23:19 yml435 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 参考: 官网 http://www.brendangregg.com/perf.html IBM Perf -- Linux下的系统性能调优工具,第 1 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ perf list – 查看 阅读全文
posted @ 2017-05-27 21:23 yml435 阅读(2105) 评论(0) 推荐(0) 编辑
摘要: #./configure --enable-vtysh --enable-user=root --enable-group=root --enable-vty-group=root #make #make install 添加相关服务到/etc/services下面: vim /etc/servic 阅读全文
posted @ 2017-04-25 22:07 yml435 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 经常我们在一些开源的或者内核代码中会看到。 #define TYPE_STRUCT(ptr, type, member)((type *)((char*)(ptr)-(unsigned long)(&((type *)0)->member))) 就是由结构体的成员地址获得结构体的地址。 #defin 阅读全文
posted @ 2017-03-30 10:48 yml435 阅读(1910) 评论(0) 推荐(0) 编辑
摘要: 在dpdk中,由于封装了原子量的操作。如 typedefstruct{ volatileint32_t cnt;/**< An internal counter value. */ }rte_atomic32_t; 但是很多人在使用的时候,经常如下使用 rte_atomic32_t pkt_coun 阅读全文
posted @ 2017-03-01 19:42 yml435 阅读(2709) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> classStaticInit{ public: StaticInit(){ std::cout<<"Init Obj "<<std::endl; } staticStaticInit& getInstance(){ staticStaticInit i; re 阅读全文
posted @ 2017-02-10 14:14 yml435 阅读(1437) 评论(0) 推荐(0) 编辑
摘要: l2fwd是DPDK中的非常经典的例子。二层转发模型。 就是在相邻的网卡接口间互相传递报文。 网口0和网口1之间报文互传。 网口2和网口3之间报文互传。 。。。。。。。。。。。。 运行参数 . 在目录/home/yml/dpdk/dpdk-stable-16.07.2/examples/l2fwd/ 阅读全文
posted @ 2017-01-14 21:38 yml435 阅读(1999) 评论(0) 推荐(0) 编辑
摘要: 这个是虚拟机安装固有的BUG,代码差异如下: diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c index d1ca26e..c46a00f 10064 阅读全文
posted @ 2017-01-03 10:46 yml435 阅读(2075) 评论(0) 推荐(0) 编辑