会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
manziluo
博客园
|
首页
|
新随笔
|
新文章
|
联系
|
订阅
|
管理
上一页
1
···
3
4
5
6
7
8
下一页
2016年8月20日
libevent学习八(evbuffer)
摘要: 1.evbuffer以队列的形式管理字节,从尾部添加,从头部取出(FIFO) 2.evbuffer内部存储形式是多个独立的连续内存 接口 //创建和删除 struct evbuffer *evbuffer_new(void);void evbuffer_free(struct evbuffer *b
阅读全文
posted @ 2016-08-20 09:18 manziluo
阅读(5164)
评论(1)
推荐(0)
编辑
libevent学习七(bufferevent)
摘要: 1. 每个bufferevent 都拥有类型为struct evbuffer的input buffer和out buffer,分别供数据读取和数据写入使用。 2.读取和写入数据是通过编写和设置对应的回调函数进行,而调用回调函数的时机则根据水位是否满足来的,水位又是可以设置的。默认情况下读的低水位是0
阅读全文
posted @ 2016-08-20 09:17 manziluo
阅读(4479)
评论(0)
推荐(0)
编辑
libevent学习六(Connect listeners )
摘要: 创建与释放 //backlog需要查询平台说明,在linux2.2以后 backlog就变成了已完成连接但未accept的队列的最大值(原来是处于syn状态的,现在换成sysctl 控制的参数tcp_max_syn_backlog) struct evconnlistener *evconnlist
阅读全文
posted @ 2016-08-20 09:16 manziluo
阅读(824)
评论(0)
推荐(0)
编辑
libevent学习五(Helper functions and types for Libevent)
摘要: 基础类型 #ifdef WIN32 #define evutil_socket_t intptr_t #else #define evutil_socket_t int #endif ev_ssize_t 时间兼容函数 //前2个参数的计算结果放到第三个参数里面 #define evutil_tim
阅读全文
posted @ 2016-08-20 09:15 manziluo
阅读(377)
评论(0)
推荐(0)
编辑
libevent学习四(Working with events)
摘要: 1.事件的分类 2事件的生命周期 --非 persistent event_del(nopending) 在callback中通过event_add(重新pending)构成循环 ^ ^ | | event_new(initialized) >event_add(pending)-->事件发生(ac
阅读全文
posted @ 2016-08-20 09:12 manziluo
阅读(661)
评论(0)
推荐(0)
编辑
libevent学习三(Getting an event_base)
摘要: 1.一个event_base持有了一系列的事件,并监控和决定哪些事件需要激活, 2.每一个event_base背后都有一个支持其工作的方法(诸如select,poll,epoll,kquene...),默认情况会选择最快的方法,可以自定义设置 3.event_base可以被设置为lock状态,这样多
阅读全文
posted @ 2016-08-20 09:11 manziluo
阅读(538)
评论(0)
推荐(0)
编辑
libevent学习二(Working with an event loop)
摘要: Runing the loop #define EVLOOP_ONCE 0x01 #define EVLOOP_NONBLOCK 0x02 #define EVLOOP_NO_EXIT_ON_EMPTY 0x04 int event_base_loop(struct event_base *base
阅读全文
posted @ 2016-08-20 09:09 manziluo
阅读(482)
评论(0)
推荐(0)
编辑
libevent学习一
摘要: 常见的异步IO存在的问题: 1.使用 fcntl(fd, F_SETFL, O_NONBLOCK);,为什么在处理上效率不好。 a.在没有数据可读写的时候,循环会不停执行,浪费掉大部分cpu b.每次尝试读写文件描述符,都会执行一次内核调用(recv,write),而系统调用耗时。 2.使用sele
阅读全文
posted @ 2016-08-20 09:06 manziluo
阅读(486)
评论(0)
推荐(0)
编辑
2016年8月19日
第六章:打造高效正则表达式
摘要: 前提:主要是说NFA引擎 1.匹配的正确性和效率。需要理解引擎的工作原理,关键要理解回溯的工作机制。 2.在传统NFA中,应该把匹配概率大的分支放在前面,因为传统NFA匹配成功后就继续后面的匹配而不回溯,这样通过减少回溯次数来提高效率。但是POSIX NFA任何情况下都会尝试所以的分支。 这中优化只
阅读全文
posted @ 2016-08-19 17:06 manziluo
阅读(302)
评论(0)
推荐(0)
编辑
第五章:正则表达式常见技巧
摘要: 1.原则 匹配期望的文本,排除不期望的文本 必要易于控制和理解 NFA引擎保证效率(成功的效率和失败的效率) 2.匹配文件路径 3.匹配浮点数 4.匹配引号包含的内容,内容可以是转义的字符(\") 多选分支的最好不要有重叠部分(两者都可以匹配的情况) 5. 6.对正在表达式应用方式和目标数据做出合理
阅读全文
posted @ 2016-08-19 17:05 manziluo
阅读(128)
评论(0)
推荐(0)
编辑
上一页
1
···
3
4
5
6
7
8
下一页
公告