1.29.1 / May 21, 2019
|Platform||Linux, Android, Windows and OS X/Darwin, FreeBSD, OpenBSD|
|Type||I/O abstraction library|
libuv (Unicorn Velociraptor Library) is a multi-platform C library that provides support for asynchronous I/O based on event loops. It supports
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. It was originally an abstraction around libev or Microsoft IOCP, as libev supports only
select(2) and doesn't support
poll(2) and IOCP on Windows. In node-v0.9.0's version of libuv, the dependency on libev was removed.
- 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
- "The libuv github releases". GitHub. Retrieved 15 April 2019.
- "The libuv project page and source code". GitHub. Retrieved 30 June 2016.
- "Welcome to the libuv documentation — libuv documentation". docs.libuv.org. Retrieved 24 July 2017.
- "Projects that use libuv". libuv GitHub project page. Retrieved 30 June 2016.
- An introduction to libuv