libevent
Разработчик(и) | Азат Хужин, Марк Эллзи, Ник Мэтьюсон, Нильс Провос |
---|---|
Первоначальный выпуск | 9 апреля 2002 г |
Стабильная версия | 2.1.12 / 5 июля 2020 г [1] |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Платформа | Unix-подобный , Windows , OS X |
Тип | Сетевая библиотека |
Лицензия | БСД [2] |
Веб-сайт | libevent |
libevent — это программная библиотека , обеспечивающая асинхронное уведомление о событиях. libevent API предоставляет механизм выполнения функции обратного вызова происходит определенное событие , когда в дескрипторе файла или по тайм-аута истечении . libevent также поддерживает обратные вызовы, запускаемые сигналами и регулярными таймаутами.
libevent предназначен для замены цикла событий управляемых событиями , обнаруженного на сетевых серверах, . Приложение может просто вызвать event_dispatch()
а затем динамически добавлять или удалять события без необходимости изменения цикла событий.
В настоящее время libevent поддерживает /dev/poll
, kqueue(2)
, ПОСИКС select(2)
, Windows ИОКП , poll(2)
, epoll(7)
и Solaris порты событий . Он также имеет экспериментальную поддержку сигналов в реальном времени. Представленный API событий является единым для всех поддерживаемых платформ. В результате libevent позволяет разрабатывать переносимые приложения и предоставляет «наиболее масштабируемый механизм уведомления о событиях, доступный в операционной системе». [1]
Используя обратные вызовы для сигналов, libevent позволяет писать «безопасные» обработчики сигналов, поскольку ни один из предоставленных пользователем кодов обработки сигналов не выполняется в контексте сигнала .
libevent был создан Нильсом Провосом и поддерживается в основном Азатом Хужиным. Он выпущен под лицензией BSD . [3]
Известные приложения
[ редактировать ]Вот некоторые из известных приложений, использующих преимущества libevent:
- Google Chrome : веб-браузер Google (версии для Mac и Linux). [4]
- Memcached : высокопроизводительная система кэширования объектов с распределенной памятью. [5]
- Передача : клиент BitTorrent с открытым исходным кодом.
- ntpd протокола сетевого времени. : демон
- Tor : анонимная система интернет-коммуникаций.
- tmux : терминальный мультиплексор [6]
Альтернативы
[ редактировать ]Выпуски основных версий
[ редактировать ]- libevent 2.1 был выпущен 3 апреля 2012 года.
- libevent 2.0 был выпущен 17 апреля 2009 года.
- libevent 1.4 был выпущен 11 ноября 2007 года.
- libevent 1.3 был выпущен 15 февраля 2007 года.
- libevent 1.2 был выпущен 15 октября 2006 г.
- libevent 1.1 был выпущен 14 мая 2005 года.
Ссылки
[ редактировать ]- ^ Jump up to: а б «libevent — библиотека уведомлений о событиях» . libevent.org . Проверено 17 сентября 2021 г.
- ^ «ЛИЦЕНЗИЯ» . Гитхаб . Проверено 30 августа 2019 г.
- ^ http://www.monkey.org/~provos/libevent/LICENSE Лицензия libevent
- ^ « Third_party/libevent — chromium/chromium — Git в Google» . chromium.googlesource.com . Проверено 30 апреля 2023 г.
- ^ "Установить" . Гитхаб . Проверено 30 апреля 2023 г.
- ^ «tmux/README на Master — tmux/tmux — GitHub» . Гитхаб .