libevent 中 EV_TIMEOUT 的确切含义是什么?
what's the exactly meaning of EV_TIMEOUT in libevent?
在Programming with Libevent书中,它说:
EV_TIMEOUT
This flag indicates an event that becomes active after a timeout
elapses.
AFAIK,当网络 IO 事件准备就绪时,与 socket fd 关联的事件将变为活动状态,由 select/epoll/poll/kqueue 通知。
如果EV_TIMEOUT
激活一个事件,而socket fd还没有准备好,event_base会回调吗?
或者socket fd准备好了,而EV_TIMEOUT
还没有,event_base会回调吗?
哦,我明白了。
void (*event_callback_fn)(evutil_socket_t, short, void *);
short
标志将告诉回调确切发生了什么。
超时时,short & EV_TIMEOUT == true
,套接字就绪时,short & (EV_READ | EV_WRITE) == true
。
在Programming with Libevent书中,它说:
EV_TIMEOUT
This flag indicates an event that becomes active after a timeout elapses.
AFAIK,当网络 IO 事件准备就绪时,与 socket fd 关联的事件将变为活动状态,由 select/epoll/poll/kqueue 通知。
如果EV_TIMEOUT
激活一个事件,而socket fd还没有准备好,event_base会回调吗?
或者socket fd准备好了,而EV_TIMEOUT
还没有,event_base会回调吗?
哦,我明白了。
void (*event_callback_fn)(evutil_socket_t, short, void *);
short
标志将告诉回调确切发生了什么。
超时时,short & EV_TIMEOUT == true
,套接字就绪时,short & (EV_READ | EV_WRITE) == true
。