wepoll:快速epoll for windows下载
2017-11-30 23:35:10 +01:00
README.md version 1.0.0 2017-11-30 23:35:10 +01:00
wepoll.c version 1.0.0 2017-11-30 23:35:10 +01:00
wepoll.h version 1.0.0 2017-11-30 23:35:10 +01:00

wepoll - epoll for windows

This library implements the epoll API for Windows applications. It attempts to be efficient, and to match the Linux API and as closely as possible.

Rationale

Unlike Linux, OS X, and many other operating systems, Windows doesn't have a good API for receiving socket state notifications. It only supports the select and WSAPoll APIs, but they suffer from well-understood scalability issues. Using I/O completion ports isn't always practical when software is designed to be cross-platform.

Features

  • poll 100000s of sockets, efficiently
  • fully thread safe, multiple threads can poll the same epoll instance
  • sockets can be added to multiple epoll sets

Limitations

  • only works on sockets (pipes, TTYs not supported)
  • the EPOLLEXCLUSIVE flag isn't supported

How to use

The library is distributed as a single source file (wepoll.c) and a single header file (wepoll.h). Compile the .c file as part of your project, and include the header wherever needed.

Compatibility

  • Requires Windows 7 or higher.
  • Can be compiled with recent versions of MSVC and clang. GCC (mingw) should work, but is untested.

Compatibility notes

TODO