Библиотека программного обеспечения для асинхронного ввода-вывода
libuv — это многоплатформенная библиотека C , которая обеспечивает поддержку асинхронного ввода-вывода на основе циклов событий . Она поддерживает epoll(4)
, kqueue(2)
, Windows IOCP , порты событий Solaris и Linux io_uring . Она в первую очередь разработана для использования в Node.js , но также используется другими программными проектами. [3] Изначально она была абстракцией вокруг libev [Wikidata] или Microsoft IOCP , поскольку libev не поддерживает IOCP в Windows. В версии libuv node-v0.9.0 зависимость от libev была удалена. [4]
Функции
Из: [2]
- Полнофункциональный цикл событий, поддерживаемый epoll, kqueue, IOCP, портами событий
- Асинхронные TCP и UDP сокеты
- Асинхронное разрешение DNS
- Асинхронные операции с файлами и файловой системой
- События файловой системы
- TTY с управляемым кодом ANSI
- IPC с общим доступом к сокетам, с использованием сокетов домена Unix или именованных каналов (Windows)
- Дочерние процессы
- Пул потоков
- Обработка сигнала
- Часы высокого разрешения
- Примитивы потоковой передачи и синхронизации
Происхождение названия
По словам разработчика libuv Бена Нордхейса, название libuv изначально не имело определенного значения, но так как люди продолжали спрашивать об этом, они что-то придумали. Они придумали Unicorn Velociraptor , который стал логотипом библиотеки. [5]
Смотрите также
Ссылки
- ^ "Выпуск v1.49.2: 2024.10.18, Версия 1.49.2 (Стабильная) · libuv/libuv" . Получено 20 октября 2024 г. .
- ^ ab "Страница проекта libuv и исходный код". GitHub . Получено 30 июня 2016 г.
- ^ "Проекты, использующие libuv". Страница проекта libuv на GitHub . Получено 30 июня 2016 г.
- ^ Введение в libuv
- ^ "Что означает UV в libuv?". groups.google.com . Получено 7 июня 2022 г. .
Внешние ссылки
- Официальный сайт
- libuv на GitHub
- Введение в libuv
- Документация API libuv
- Обзор дизайна libuv