最近一直在使用libevent,发现一个有关libevent事件注册的一个小问题:
对于一个服务器,我很可能需要注册的时间类型是持续读和一次写;也就是 EV_READ|EV_PERSIT(READ) ,然后每次需要发送时才注册EV_WRITE事件,但是libevent却做不到这点,libevent中的EV_PERSIST是对event的所有事件起作用;
如果注册事件类型为EV_READ|EV_WRITE|EV_PERSIST,那么在基于LT的触发下,写事件将会不停的被触发,这样只能每次调用event_set和event_add注册R/W事件,或许这不是个问题;但每次都会从从I/O上delete;还是会影响到效率的。