libuv
Перейти до навігації
Перейти до пошуку
Тип | бібліотека абстракції вводу/виводу |
---|---|
Стабільний випуск | 1.29.1 (21 травня 2019[1]) |
Платформа | Linux, Android, Windows та OS X/Darwin,[2] FreeBSD, OpenBSD |
Операційна система | крос-платформова |
Мова програмування | C |
Ліцензія | MIT |
Репозиторій | github.com/libuv/libuv |
Вебсайт | libuv.org |
libuv (Unicorn Velociraptor Library[3]) — багато-платформова C-бібліотека, що забезпечує підтримку асинхронний ввід/вивід на основі цикла події. Вона підтримує epoll(4)
, kqueue(2)
, Windows IOCP та Sun Solaris event port. Бібліотека передусім спроектована для використання в Node.js, але застосовується також в інших програмних продуктах.[4] Спочатку це була абстракція навколо libev або Microsoft IOCP, оскільки libev підтримувала тільки select(2)
і не підтримувала poll(2)
та IOCP у Windows. У версії node-v0.9.0 libuv залежність на libev була вилучена.[5]
Особливості libuv включають[2]
- Повноцінний цикл події, підтверджений epoll, kqueue, IOCP, event ports
- Асинхронні TCP та UDP сокети
- Асинхронні DNS запити
- Асинхронні файлові операції та операції з файловою системою
- Події файлової системи
- ANSI escape code під управлінням TTY
- IPC з поділом сокетів, використовуючи Unix domain socket або іменовані потоки (Windows)
- Породжені процеси
- Пул нитей
- Обробка сигналів
- Високоточний таймер
- Примітиви нитей та синхронізації
- ↑ The libuv github releases. GitHub. Архів оригіналу за 18 жовтня 2019. Процитовано 15 квітня 2019.
- ↑ а б The libuv project page and source code. GitHub. Архів оригіналу за 19 січня 2021. Процитовано 30 червня 2016.
- ↑ Welcome to the libuv documentation — libuv documentation. docs.libuv.org (англ.). Архів оригіналу за 26 листопада 2020. Процитовано 24 липня 2017.
- ↑ Projects that use libuv. libuv GitHub project page. Архів оригіналу за 18 жовтня 2019. Процитовано 30 червня 2016.
- ↑ An introduction to libuv. Архів оригіналу за 12 березня 2018. Процитовано 12 вересня 2019.
- libuv на GitHub
- An Introduction to libuv [Архівовано 29 листопада 2020 у Wayback Machine.]
- libuv API documentation [Архівовано 18 жовтня 2019 у Wayback Machine.]
- libuv design overview [Архівовано 22 вересня 2020 у Wayback Machine.]