Libevent - Libevent
Разработчики) | Азат Хужин, Марк Эллзи, Ник Мэтьюзон, Нильс Провос |
---|---|
изначальный выпуск | 9 апреля 2002 г. |
Стабильный выпуск | 2.1.11 / 1 августа 2019 г.[1] |
Репозиторий | |
Написано в | C |
Операционная система | Кроссплатформенность |
Платформа | Unix-подобный, Windows, OS X |
Тип | Сеть Библиотека |
Лицензия | BSD[2] |
Интернет сайт | Libevent |
Libevent это библиотека программного обеспечения который обеспечивает уведомление об асинхронном событии. Либвент API предоставляет механизм для выполнения Перезвоните функция, когда определенное событие происходит на дескриптор файла или после тайм-аут Был достигнут. libevent также поддерживает обратные вызовы, запускаемые сигналы и регулярные тайм-ауты.
libevent предназначен для замены цикл событий найдено в событийном сетевые серверы. Приложение может просто позвонить event_dispatch ()
а затем динамически добавлять или удалять события без изменения цикла событий.
В настоящее время libevent поддерживает / dev / опрос
, kqueue (2)
, POSIX выберите (2)
, Windows IOCP, опрос (2)
, эполл (7)
и Солярис порты событий. Он также имеет экспериментальную поддержку сигналов в реальном времени. Открытый API событий одинаков для всех поддерживаемых платформ. В результате libevent позволяет портативный разработка приложений и предоставляет "наиболее масштабируемый механизм уведомления о событиях, доступный в операционной системе ".[3]
Используя обратные вызовы для сигналов, libevent позволяет писать "безопасные" обработчики сигналов, поскольку ни один из предоставленных пользователем кодов обработки сигналов не выполняется в контекст.
libevent был создан Нильс Провос и поддерживается в основном Ник Мэтьюсон.[4] Он выпущен под Лицензия BSD.[5]
Известные приложения
Некоторые из наиболее заметных приложений, использующих преимущества libevent:
- Гугл Хром: Веб-браузер Google (версии для Mac и Linux)
- Memcached: высокопроизводительная система кэширования объектов с распределенной памятью
- Передача инфекции: BitTorrent-клиент с открытым исходным кодом
- ntpd: протокол сетевого времени демон
- Тор: анонимная система Интернет-общения
- 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 г.
Рекомендации
- ^ "Libevent Releases". Github. Получено 30 августа 2019.
- ^ "ЛИЦЕНЗИЯ". Github. Получено 30 августа 2019.
- ^ http://libevent.org/ Веб-страница Libevent
- ^ Мэтьюсон, Ник. "Ник Мэтьюсон". Домашняя страница Ника Мэтьюсона. Получено 10 января 2015.
- ^ http://www.monkey.org/~provos/libevent/LICENSE Лицензия libevent
- ^ "tmux / README на Мастере - tmux / tmux - GitHub".