libuv
Appearance
Stable release | 1.8.0
/ December 14, 2015 |
---|---|
Repository | |
Written in | C |
Operating system | Cross-platform |
Platform | OpenBSD, Linux, Android, Windows and OS X/Darwin[1] |
Type | I/O Abstraction Library |
License | MIT |
Website | github |
libuv is a software library that provides asynchronous event notification. libuv supports epoll(4)
, kqueue(2)
, Windows IOCP, and Solaris event ports. It is primarily designed for use in Node.js but it is also used by other software projects.[1] It was originally an abstraction around libev or Microsoft IOCP, as libev doesn't support Windows. In node-v0.9.0's version of libuv, the dependency on libev was removed.[2]
Features
From:[1]
- Full-featured event loop backed by epoll, kqueue, IOCP, event ports.
- Asynchronous TCP and UDP sockets
- Asynchronous DNS resolution
- Asynchronous file and file system operations
- File system events
- ANSI escape code controlled TTY
- IPC with socket sharing, using Unix domain sockets or named pipes (Windows)
- Child processes
- Thread pool
- Signal handling
- High resolution clock
- Threading and synchronization primitives