Asynchronous IO + coroutine, a high performance solution for networking server. You can write code as synchronous model, rather than control state machine by yourself.
按照说明:
EV_ERROR
An unspecified error has occurred, the watcher has been stopped. ......................
看起来直接 assert 不算一个大错误,unspecified 指的错误都是意外发生的,这种情况下,如果是非生成环境程序挂掉确实是我想见的情况,这样可以立刻跟踪问题。
在acoro中 大多数对于libev的回调第三个参数 -----event 都是对其进行assert是否等于的。 比如ev_sock_connect 函数的处理
libev 的回调的第三个参数并不完全是用户设置的。其中可能有EV_ERROR 的标志位, 这样会直接导致程序的crash
判断event 中是否有ERROR标志位并返回-1 更好一些?