Разработчик (s) | Азат Хужин, Марк Эллзи, Ник Мэтьюсон, Нильс Провос |
---|---|
Первоначальный выпуск | 9 апреля 2002 г.; 18 лет назад (2002-04-09) |
Стабильный выпуск | 2.1.11 / 1 августа 2019 г.; 14 месяцев назад (2019-08-01) |
Репозиторий | |
Написано на | C |
Операционная система | Кросс-платформенная |
Платформа | Unix-подобная, Windows, OS X |
Тип | Сеть Библиотека |
Лицензия | BSD |
Веб-сайт | libevent.org |
libevent - это программная библиотека, которая обеспечивает уведомление об асинхронных событиях. Libevent API предоставляет механизм для выполнения функции обратного вызова , когда определенное событие происходит в файловом дескрипторе или после того, как истекло время ожидания . достиг. libevent также поддерживает обратные вызовы, запускаемые сигналами и регулярными тайм-аутами.
libevent предназначен для замены цикла событий, обнаруженного в управляемых событиями сетевых серверах. Приложение может просто вызвать event_dispatch ()
, а затем динамически добавлять или удалять события, не изменяя цикл обработки событий.
В настоящее время libevent поддерживает ,
kqueue(2)
, POSIX select(2)
, Windows IOCP, ,
epoll (7)
и Solaris. Он также имеет экспериментальную поддержку сигналов в реальном времени. Открытый API событий одинаков для всех поддерживаемых платформ. В результате libevent позволяет разрабатывать переносимые приложения и предоставляет «самый масштабируемый механизм уведомления о событиях, доступный в операционной системе».
Использование обратных вызовов для сигналов, libevent позволяет писать «безопасные» обработчики сигналов, поскольку ни один из предоставленных пользователем кодов обработки сигналов не работает в контексте сигнала.
libevent был создан Нильсом Провосом и обслуживается в основном. Он выпущен под лицензией BSD.
Некоторые из известных приложений, использующих преимущества libevent: