doc: add readme
This commit is contained in:
parent
4aabde451c
commit
ee205b2a79
41
doc/README.md
Normal file
41
doc/README.md
Normal file
@ -0,0 +1,41 @@
|
||||
# wepoll - epoll for windows
|
||||
|
||||
This library implements the
|
||||
[epoll](http://man7.org/linux/man-pages/man7/epoll.7.html) 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**
|
||||
Loading…
x
Reference in New Issue
Block a user