libuv
Appearance
Stable release | 1.23.2
/ October 8, 2018 |
---|---|
Repository | |
Written in | C |
Operating system | Cross-platform |
Platform | FreeBSD, OpenBSD, Linux, Android, Windows and OS X/Darwin[1] |
Type | I/O abstraction library |
License | MIT |
Website | libuv |
libuv (Unicorn Velociraptor Library[2]) is a multi-platform C library that provides support for asynchronous I/O based on event loops. It 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.[3] 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.[4]
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
See also
References
- ^ a b "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
External links
- Official website
- libuv on GitHub
- An Introduction to libuv
- libuv API documentation
- libuv design overview