libuv
libuv (Unicorn Velociraptor Library[3]) 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.[4] 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.[5]
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
gollark: A bad rule, that.
gollark: I'd just like to interject for moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
gollark: NopE.
gollark: It could work for swap...
gollark: It's slower and stupider than normal tmpfs but maybe you want to, I don't know.
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.
- "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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.