libuv

libuv (Unicorn Velociraptor Library[4]) — багато-платформова C-бібліотека, що забезпечує підтримку асинхронний ввід/вивід на основі цикла події. Вона підтримує epoll(4), kqueue(2), Windows IOCP та Sun Solaris event port. Бібліотека передусім спроектована для використання в Node.js, але застосовується також в інших програмних продуктах.[5] Спочатку це була абстракція навколо libev або Microsoft IOCP, оскільки libev підтримувала тільки select(2) і не підтримувала poll(2) та IOCP у Windows. У версії node-v0.9.0 libuv залежність но libev була вилучена.[6]

libuv
Тип бібліотека абстракції вводу/виводу
Стабільний випуск 1.29.1 (21 травня 2019 (2019-05-21)[1])
Версії 1.43.0 (5 січня 2022)[2]
Репозиторій github.com/libuv/libuv
Платформа Linux, Android, Windows та OS X/Darwin,[3] FreeBSD, OpenBSD
Операційна система крос-платформова
Мова програмування C
Ліцензія MIT
Вебсайт libuv.org

Особливості

Особливості libuv включають[3]

  • Повноцінний цикл події, підтверджений epoll, kqueue, IOCP, event ports
  • Асинхронні TCP та UDP сокети
  • Асинхронні DNS запити
  • Асинхронні файлові операції та операції з файловою системою
  • Події файлової системи
  • ANSI escape code під управлінням TTY
  • IPC з поділом сокетів, використовуючи Unix domain socket або іменовані потоки (Windows)
  • Породжені процеси
  • Пул нитей
  • Обробка сигналів
  • Високоточний таймер
  • Примітиви нитей та синхронізації

Виноски

  1. The libuv github releases. GitHub. Процитовано 15 квітня 2019.
  2. Release v1.43.0
  3. The libuv project page and source code. GitHub. Процитовано 30 червня 2016.
  4. Welcome to the libuv documentation — libuv documentation. docs.libuv.org (англ.). Процитовано 24 липня 2017.
  5. Projects that use libuv. libuv GitHub project page. Процитовано 30 червня 2016.
  6. An introduction to libuv

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.