emsApplication/3rdPartner/libhv/event/iowatcher.h

40 lines
919 B
C
Raw Normal View History

2024-05-24 12:19:45 +08:00
#ifndef IO_WATCHER_H_
#define IO_WATCHER_H_
#include "hloop.h"
#include "hplatform.h"
#if !defined(EVENT_SELECT) && \
!defined(EVENT_POLL) && \
!defined(EVENT_EPOLL) && \
!defined(EVENT_KQUEUE) && \
!defined(EVENT_IOCP) && \
!defined(EVENT_PORT) && \
!defined(EVENT_NOEVENT)
#ifdef OS_WIN
#if WITH_WEPOLL
#define EVENT_EPOLL // wepoll -> iocp
#else
#define EVENT_POLL // WSAPoll
#endif
#elif defined(OS_LINUX)
#define EVENT_EPOLL
#elif defined(OS_MAC)
#define EVENT_KQUEUE
#elif defined(OS_BSD)
#define EVENT_KQUEUE
#elif defined(OS_SOLARIS)
#define EVENT_PORT
#else
#define EVENT_SELECT
#endif
#endif
int iowatcher_init(hloop_t* loop);
int iowatcher_cleanup(hloop_t* loop);
int iowatcher_add_event(hloop_t* loop, int fd, int events);
int iowatcher_del_event(hloop_t* loop, int fd, int events);
int iowatcher_poll_events(hloop_t* loop, int timeout);
#endif