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, Solaris event ports and Linux io_uring. It is primarily designed for use in Node.js but is also used by other software projects. 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.Features
From:- 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
- Child processes
- Thread pool
- Signal handling
- High resolution clock
- Threading and synchronization primitives