(PECL ev >= 0.2.0)
Представляет событийный цикл, который всегда отличается от цикла по умолчанию. В отличие от цикла по умолчанию, он не может работать с наблюдателями EvChild.
Если доступна работа с потоками исполнения, то необходимо создать цикл для каждого потока используя в качестве родителя цикл по умолчанию.
Событийный цикл по умолчанию инициализируется автоматически с помощью Ev. Он доступен с помощью методов класса Ev или с помощью метода EvLoop::defaultLoop().
$flags
= ?,$data
= NULL,$io_interval
= 0.0,$timeout_interval
= 0.0$pid
,$trace
,$callback
,$data
= ?,$priority
= ?$flags
= Ev::FLAG_AUTO,$data
= NULL,$io_interval
= 0.,$timeout_interval
= 0.$offset
,$interval
,$callback
,$data
= null
,$priority
= 0$path
,$interval
,$callback
,$data
= null
,$priority
= 0Произвольные данные, добавленные циклу
Только чтение. Флаги бэкенда указывающие какой событийный бэкенд используется.
Только чтение. Если true
, то это цикл по умолчанию.
Текущий счётчик итераций. Смотри Ev::iteration()
Количество ожидающих наблюдателей. 0
означает, что ожидающие наблюдатели отсутствуют.
Более высокие значения io_interval позволяют libev тратить больше времени для сбора событий EvIo, что позволит обработать больше событий за одну итерацию заплатив за это увеличенными задержками. Время ожидания (и EvPeriodic и EvTimer) не будет затронуто. Установка в ненулевое значение добавить дополнительный вызов sleep()
в большинство итераций цикла. Время сна гарантирует, что libev не будет передавать события EvIo чаще, чем один раз за этот период, в среднем. Для большинства программ хорошим значением io_interval будет значение около 0.1
, этого достаточно для большинства интерактивных серверов (не для игр). Обычно вы не заметите никакой разницы, если установите его меньше 0.01
, так как это значение будет близко к минимальному интервалу вычисляемого времени для большинства систем.
Также читайте » ФУНКЦИИ УПРАВЛЕНИЯ СОБЫТИЙНЫМИ ЦИКЛАМИ.
Более высокие значения timeout_interval позволят libev тратить больше времени для сбора превышенного времени ожидания за счёт увеличения задержек/джиттеров/неточностей (функция обратного вызова наблюдателя будет вызвана позже). Наблюдатели EvIo не будут затронуты. Увеличение этого значение не вызовет перерасхода ресурсов в libev. Также читайте » ФУНКЦИИ УПРАВЛЕНИЯ СОБЫТИЙНЫМИ ЦИКЛАМИ.
Глубина рекурсии. Смотрите Ev::depth().