(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.
$other
,$callback
= ?,$data
= ?,$priority
= ?$fd
,$events
,$callback
,$data
= null
,$priority
= 0
$offset
,$interval
,$callback
,$data
= null
,$priority
= 0
$signum
,$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().