libuv
Appearance
Stable release | 1.12.0
/ May 30, 2017 |
---|---|
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 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.[2] 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.[3]
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.
- ^ "Projects that use libuv". libuv GitHub project page. Retrieved 30 June 2016.
- ^ an introduction to libuv