????????libevent 1.4.14 ?汾???????????????????????I/O demultiplex?????
????

???????????
????libevent??????????????I/O demultiplex?????????????????н?θ??????????
????Libevent??????I/O??·???ü??????????????eventop?????????????е??????? ??????event-internal.h????У?

struct eventop {
const char *name;
void *(*init)(struct event_base *);
int (*add)(void *?? struct event *);
int (*del)(void *?? struct event *);
int (*dispatch)(struct event_base *?? void *?? struct timeval *);
void (*dealloc)(struct event_base *?? void *);
/* set if we need to reinitialize the event base */
int need_reinit;
};
??????libevent?У????I/O demultiplex???????????????????????????????????????????????????????????????????????
????????????????????????????I/O??·???????????extern?????????????????????? event.c ????У?
#ifdef HAVE_EVENT_PORTS
extern const struct eventop evportops;
#endif
#ifdef HAVE_SELECT
extern const struct eventop selectops;
#endif
#ifdef HAVE_POLL
extern const struct eventop pollops;
#endif
#ifdef HAVE_EPOLL
extern const struct eventop epollops;
#endif
#ifdef HAVE_WORKING_KQUEUE
extern const struct eventop kqops;
#endif
#ifdef HAVE_DEVPOLL
extern const struct eventop devpollops;
#endif
#ifdef WIN32
extern const struct eventop win32ops;
#endif
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????