Класс EvLoopEvLoop
&reftitle.intro;
Представляет событийный цикл, который всегда отличается
от цикла по умолчанию.
В отличие от цикла по умолчанию,
он не может работать с наблюдателями
EvChild.
Если доступна работа с потоками исполнения, то необходимо
создать цикл для каждого потока используя в качестве родителя
цикл по умолчанию.
Событийный цикл по умолчанию
инициализируется автоматически с помощью
Ev.
Он доступен через методы класса
Ev или через метод
EvLoop::defaultLoop.
&reftitle.classsynopsis;
EvLoopfinalEvLoop&Properties;publicdatapublicbackendpublicis_default_looppubliciterationpublicpendingpublicio_intervalpublictimeout_intervalpublicdepth&Methods;
&reftitle.properties;
data
Произвольные данные, которые добавили циклу
backendТолько чтение.
Флаги бэкенда,
которые указывают, какой событийный бэкенд используется.
is_default_loopТолько чтение.
Если установили значение &true;, то это цикл по умолчанию.
iteration
Текущий счётчик итераций. Смотри
Ev::iterationpending
Количество ожидающих наблюдателей.
Значение 0 указывает, что
ожидающих наблюдателей нет.
io_interval
Более высокие значения
io_interval
разрешают
модулю libev
тратить больше времени для сбора событий
EvIo,
что позволит обработать больше событий за одну итерацию
заплатив за это увеличенными задержками.
Время ожидания (и EvPeriodic
и EvTimer) не будет затронуто.
Установка в ненулевое значение добавить дополнительный
вызов sleep() в большинство итераций цикла.
Время сна гарантирует, что
libev
не будет передавать события
EvIo
чаще, чем один раз за этот период, в среднем.
Для большинства программ хорошим значением
io_interval
будет значение около
0.1,
этого достаточно для большинства интерактивных серверов (не для игр).
Обычно разница незаметна, если установили значение
меньше 0.01, поскольку
это значение будет близко к минимальному интервалу вычисляемого
времени для большинства систем.
Также читайте
ФУНКЦИИ УПРАВЛЕНИЯ СОБЫТИЙНЫМИ ЦИКЛАМИ.
timeout_interval
Более высокие значения
timeout_interval
позволят
libev
тратить больше времени для сбора превышенного времени ожидания за счёт увеличения
задержек, джиттеров или неточностей (callback-функция наблюдателя
будет вызвана позже).
Наблюдатели EvIo не будут затронуты.
Увеличение этого значение не вызовет перерасхода ресурсов в
libev. Также читайте
ФУНКЦИИ УПРАВЛЕНИЯ СОБЫТИЙНЫМИ ЦИКЛАМИ.
depth
Глубина рекурсии. Смотрите описание метода Ev::depth.
&reference.ev.entities.evloop;