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.[3] 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.[4]
Stable release | 1.38.1
/ July 3, 2020[1] |
---|---|
Repository | |
Written in | C |
Operating system | Cross-platform |
Platform | Linux, Android, Windows and OS X/Darwin,[2] FreeBSD, OpenBSD |
Type | I/O abstraction library |
License | MIT |
Website | libuv |
Features
From:[2]
- 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
- libevent
- libev
- Reactor pattern
References
- "The libuv github releases". GitHub. Retrieved 15 August 2020.
- "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
External links
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.