Класс EventBase EventBase
&reftitle.intro; Класс EventBase представляет структуру событийной базы модуля libevent. Он содержит набор событий и может их опрашивать для определения, какие из них активны. Каждая событийная база имеет метод или бэкенд, которые используются для определения готовых событий. Используемые методы: select , poll , epoll , kqueue , devpoll , evport и win32 . Для настройки событийной базы или для исключения определённых бэкендов можно использовать класс EventConfig. НЕ разрушайте объект EventBase пока не освобождены связанные с Event ресурсы. В противном случае это приведёт к непредсказуемым результатам!
&reftitle.classsynopsis; EventBase final EventBase &Constants; const int EventBase::LOOP_ONCE 1 const int EventBase::LOOP_NONBLOCK 2 const int EventBase::NOLOCK 1 const int EventBase::STARTUP_IOCP 4 const int EventBase::NO_CACHE_TIME 8 const int EventBase::EPOLL_USE_CHANGELIST 16 &Methods;
&reftitle.constants; EventBase::LOOP_ONCE Флаг используется с методом EventBase::loop и означает: «блокировать, пока модуль libevent не получит активное событие, а затем выйти после завершения callback-функции для всех активных событий». EventBase::LOOP_NONBLOCK Флаг используется с методом EventBase::loop и означает: «не блокировать: посмотреть, какие события уже готовы, запустить обратные вызовы с наивысшим приоритетом, затем выйти». EventBase::NOLOCK Флаг конфигурации. Не выделять блокировку для событийной базы, даже если блокирование настроено. EventBase::STARTUP_IOCP Флаг конфигурации только для ОС Windows. Разрешает диспетчер IOCP при старте. EventBase::NO_CACHE_TIME Флаг конфигурации. Вместо проверки текущего времени каждый раз, когда цикл готов запустить функцию обратного вызова по таймеру, проверять его после каждого вызова такой функции. EventBase::EPOLL_USE_CHANGELIST Если используется бэкенд epoll , этот флаг сообщает, что можно безопасно использовать внутренний код списка изменений Libevent для пакетного добавления и удаления в целях минимизации количества системных вызовов. Установка этого флага может повысить производительность, но может привести к проявлению бага Linux: не безопасно использовать этот флаг, если любой из файловых дескрипторов был клонирован с помощью dup() или его аналогов. Может привести к странным и трудно диагностируемым ошибкам. Этот флаг также может быть активирован установкой переменной окружения EVENT_EPOLL_USE_CHANGELIST. Этот флаг не действует, если вы используете любой бэкенд, кроме epoll .
&reference.event.entities.eventbase;