libuv
| libuv | |
|---|---|
| Error creating thumbnail: | |
| Repository |
|
| Written in | C |
| Engine | |
| Operating system | Cross-platform |
| Platform | Linux, Android, Windows and OS X/Darwin,[1] FreeBSD, OpenBSD |
| Type | I/O abstraction library |
| License | MIT |
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, Solaris event ports and Linux io_uring. It is primarily designed for use in Node.js but is also used by other software projects.[2] It was originally an abstraction around libev or Windows IOCP, as libev does not support IOCP. In node-v0.9.0's version of libuv, the dependency on libev was removed.[3]
Features
[edit | edit source]From:[1]
- Full-featured event loop backed by epoll, kqueue, IOCP, or 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
Origin of the name
[edit | edit source]According to libuv developer Ben Noordhuis, the name libuv originally had no specific meaning, but as people kept asking about it, they made something up. They came up with Unicorn Velociraptor, which became the logo of the library.[4]
See also
[edit | edit source]Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
References
[edit | edit source]- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ An introduction to libuv
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).
- libuv on GitHub
- An Introduction to libuv
- libuv API documentation
- libuv design overview