2016-12-05 3 views
0

in < Programmierung mit Libevent> Buch, heißt es:Was genau bedeutet EV_TIMEOUT in libevent?

EV_TIMEOUT

Dieses Flag ein Ereignis zeigt an, dass nach einem Timeout abläuft aktiv wird.

AFAIK, ein Ereignis, das mit dem Socket fd assoziiert ist, wird aktiv, wenn das Netzwerk-E/A-Ereignis bereit ist, was von select/epoll/poll/kqueue mitgeteilt wird.

Wenn EV_TIMEOUT ein Ereignis aktiv macht, während der Socket fd nicht bereit ist, wird event_base den Rückruf ausführen?

oder der Socket fd ist bereit, während EV_TIMEOUT nicht ist, wird event_base den Callback ausführen?

Antwort

0

Oh, ich verstehe.

void (* event_callback_fn) (evutil_socket_t, kurz, void *);

Die 'kurze' Flagge wird dem Rückruf mitteilen, was genau passiert ist.

wenn Timeout, kurz & EV_TIMEOUT == true, wenn der Socket bereit ist, kurz & (EV_READ | EV_WRITE) == true.

gelöst.