我正在尝试使用 libev 进行基于事件的编程。但是 libev 提供了一些事件,例如EV_READ, EV_WRITE, EV_TIMER ..
那么,是否有可能拥有我自己的自定义事件。
例如,我有来自套接字的连续消息流,而我只对该消息流中的一种消息感兴趣。所以,它基本上像
while(true)
{
Msg msg = getMessage();
if(msg != null && msg.id == ourId)
return msg;
}
因此,我想注册此类事件(仅if
满足该条件。)。它是一个自定义事件,对吗?如何将此事件指定给 libev。
我的意思是在 libev 我们这样指定..
ev_io_init (&stdin_watcher, stdin_cb, /*STDIN_FILENO*/ 0, EV_READ);
ev_io_start (loop, &stdin_watcher);
我看不到任何可以检查我们自己事件的东西。可能吗 ?