libuv is a platform layer for node.js. Its purpose is to abstract
IOCP on Windows and epoll/kqueue/event ports/etc. on Unix systems.
We intend to eventually contain all platform differences in this
* Non-blocking TCP sockets
* Non-blocking named pipes
* Child process spawning
* Asynchronous DNS via uv_getaddrinfo.
* Asynchronous file system APIs uv_fs_*
* High resolution time uv_hrtime
* Current executable path look up uv_exepath
* Thread pool scheduling uv_queue_work
* ANSI escape code controlled TTY uv_tty_t
* File system events using inotify, kqueue, event ports,
FSEvents and ReadDirectoryChangesW
* IPC and socket sharing between processes uv_write2