# php_manual

id: Ds\Deque::sum
type: function
doc:
<comment>Description:</comment>
  Возвращает сумму всех значений двухсторонней очереди
  
  Возвращает сумму всех значений двухсторонней очереди.
  
  Массивы и объекты считаются за ноль.

<comment>Return:</comment>
  <info>int|float</info>  Сумма всех значений двухсторонней очереди типов <info>float</info> или <info>int</info>, в зависимости от
             значений двухсторонней очереди.


id: Ds\Deque::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует двухстороннюю очередь в массив (array)
    
  
  Преобразует двухстороннюю очередь в массив (<info>array</info>).
  
  Приведение к типу <info>array</info> пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы двухсторонней очереди с сохранением их порядка.


id: Ds\Deque::unshift
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в начало двухсторонней очереди
  
  Добавляет значения в начало двухсторонней очереди, сдвигая все элементы вперёд, чтобы освободить
  место для новых.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.  Множество значений добавляются в том порядке, как они были
                  переданы.
                  
                  Множество значений добавляются в том порядке, как они были переданы.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Hashable
type: class
doc:
<comment>Description:</comment>
  Hashable - это интерфейс, который позволяет использовать объекты в качестве ключей. Это
  альтернатива функции <strong>spl_object_hash()</strong>, которая вычисляет хеш объекта в соответствии с его
  обработчиком: это значит, что два объекта могут быть одинаковы по своему состоянию, но не
  считаются одинаковыми из-за того, что являются разными экземплярами одного класса.
  
  Функция <strong>hash()</strong> используется для вычисления скалярного значения, характеризующего хеш объекта и
  определяющего его положение в хеш-таблице. Хотя это значение необязательно должно быть уникальным,
  одинаковые объекты должны иметь одно и то же значение хеша.
  
  Функция <strong>equals()</strong> используется для определения идентичности двух объектов. Она гарантирует, что два
  объекта являются одним и тем же экземпляром класса.


id: Ds\Hashable::equals
type: function
doc:
<comment>Description:</comment>
  Определяет, равен ли текущий экземпляр переданному объекту
  
  Определяет, являются ли текущий экземпляр эквивалентным переданному другому объекту.
  
  Этот метод позволяет использовать объекты в качестве ключей в таких структурах, как <class>Ds\Map</class> и
  <class>Ds\Set</class> или любых других структурах, распознающих этот интерфейс.
  
  Гарантирует, что <strong>$obj</strong> является экземпляром того же класса.
  
  Чтобы объекты считались идентичными, необходимо, чтобы у них был одинаковый хеш. Смотрите описание
  функции <strong>Ds\Hashable::hash()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$obj</strong>  Объект для сравнения с текущим объектом.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, если идентичны, <info>false</info> в противном случае.


id: Ds\Hashable::hash
type: function
doc:
<comment>Description:</comment>
  Возвращает скалярное значение для использования в качестве значения хеша
  
  Возвращает скалярное значение, которое будет использоваться в качестве значение хеша объектов.
  
  В то время как значение хеша само по себе не гарантирует идентичность объектов, но всё же все
  объекты, равные при проверке с помощью функции <strong>Ds\Hashable::equals()</strong>, должны иметь одно и то же
  значение хеша. Значение хешей для одинаковых объектов не обязаны быть уникальными, к примеру вы
  можете просто возвращать <info>true</info> для всех объектов и ничего не сломается. Единственным последствием
  будет то, что ваша хеш-таблица превратится в связанный список, потому что хеши всех объектов будут
  содержаться в одном блоке. Из этого следует, что важно выбирать хорошее значение хеша, например
  уникальный идентификатор или адрес электронной почты.
  
  Этот метод позволяет использовать объекты в качестве ключей в таких структурах как <class>Ds\Map</class> и <class>Ds\Set</class>
  или любых других структурах, распознающих этот интерфейс.
  
  Не выбираете значение, которое может измениться, например, из общедоступных свойств. Поиск в
  хеш-таблице завершится неудачей, если это значение изменится.
  
  Все одинаковые объекты должны иметь одно и то же значение хеша.

<comment>Return:</comment>
  <info>mixed</info>  Скалярное значение для использования как значение хеша.


id: Ds\Map
type: class
doc:
<comment>Description:</comment>
  Коллекция пар - это последовательная коллекция, содержащая пары ключ-значение, практически
  идентичная массиву и используется для тех же целей. Ключи могут быть любого типа, но должны быть
  уникальными. Если добавить пару с уже существующим ключом, то она будет заменена.


id: Ds\Map::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый экземпляр
  
  Создаёт новый экземпляр, используя либо объект, реализующий <class>traversable</class>, либо массив, переданный в
  качестве параметра <strong>$values</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект, реализующий интерфейс traversable или массив.


id: Ds\Map::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет необходимое количество памяти под требуемую вместимость
  
  Выделяет необходимое количество памяти под требуемую вместимость.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость (количество значений), под хранение которых запрашивается память.
                  
                  Значение остаётся неизменным, если текущее значение больше или равно заданному.
                  
                  Вместимость всегда округляется вверх до ближайшей степени двойки. (т.е. 16, 32,
                  64, 128 и т.д)

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::apply
type: function
doc:
<comment>Description:</comment>
  Обновление всех значений применением к ним переданной callback-функции
  
  Обновление всех значений применением к ним переданной <strong>$callback</strong>-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       Объект типа <info>callable</info>.
                       
                       Callback-функция должна возвращать новое значение, которое заменит текущее.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::clear
type: function
doc:
<comment>Description:</comment>
  Удаляет все значения из коллекции
  
  Удаляет все значения из коллекции.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию коллекции
  
  Возвращает поверхностную копию коллекции.

<comment>Return:</comment>
  <info>Ds\Map</info>  Поверхностная копия коллекции.


id: Ds\Map::count
type: function
doc:
<comment>Description:</comment>
  Возвращает количество элементов коллекции
  
  Смотрите описание функции <strong>Countable::count()</strong>


id: Ds\Map::diff
type: function
doc:
<comment>Description:</comment>
  Создаёт новую коллекцию пар с элементами, ключей которых нет в другой коллекции пар
  
  Возвращает новую коллекцию пар, не содержащую элементов с ключами, которые присутствуют в
  коллекции пар, переданной в <strong>$map</strong>.
  
  A \ B = {x ∈ A | x ∉ B}

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  Коллекция пар, содержащая элементы с ключами, которых не должно быть в новой
                коллекции пар.

<comment>Return:</comment>
  <info>Ds\Map</info>  Результат удаления всех элементов, ключи которых присутствуют в коллекции пар, переданной
          в <strong>$map</strong>.

<comment>See Also:</comment>
   * Разность массивов на Wikipedia


id: Ds\Map::filter
type: function
doc:
<comment>Description:</comment>
  Создаёт новую коллекцию пар из элементов, выбранных с помощью заданной callback-функции
    
  
  Создаёт новую коллекцию пар из элементов, выбранных с помощью заданной callback-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       Опциональный аргумент типа <info>callable</info>, который возвращает <info>true</info>, если пара
                       должна быть включена и <info>false</info>, если нет.
                       
                       Если callback-функция не задана, то будут включены только элементы, которые
                       приводятся к логическому значению <info>true</info> (смотрите раздел с приведением к
                       boolean).

<comment>Return:</comment>
  <info>Ds\Map</info>  Новая коллекция пар, содержащая значения, для которых <strong>$callback</strong>-функция вернула <info>true</info>, или
          все элементы, которые при приведении к логическому типу становятся <info>true</info>, если параметр
          <strong>$callback</strong> не задан.


id: Ds\Map::first
type: function
doc:
<comment>Description:</comment>
  Возвращает первый элемент коллекции
  
  Возвращает первый элемент коллекции.

<comment>Return:</comment>
  <info>Ds\Pair</info>  Первый элемент коллекции.


id: Ds\Map::get
type: function
doc:
<comment>Description:</comment>
  Возвращает значение по ключу
  
  Возвращает значение по заданному ключу, или необязательное значение по умолчанию, если ключ не
  найден.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.
  
  Вы можете использовать синтаксис массива для доступа к значениям, т.е. $map["key"].
  
  Будьте осторожны при использовании синтаксиса массива. Скалярные ключи будут приведены к целым
  движком PHP. К примеру, $map["1"] будет пытаться обратиться к int(1), тогда как $map-&gt;get("1")
  обратится к правильному элементу.
  
  Смотрите раздел Массивы.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      Ключ.
  <info>mixed</info>  <strong>$default</strong>  Необязательное значение, которое вернётся, если элемент с заданным ключом
                   отсутствует.

<comment>Return:</comment>
  <info>mixed</info>  Значение по ключу <strong>$key</strong>, или значение <strong>$default</strong>, если ключ не найден.


id: Ds\Map::hasKey
type: function
doc:
<comment>Description:</comment>
  Проверяет, содержит ли коллекция заданный ключ
  
  Проверяет, содержит ли коллекция заданный ключ.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>  Проверяемый ключ.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если ключ найден, иначе <info>false</info>.


id: Ds\Map::hasValue
type: function
doc:
<comment>Description:</comment>
  Проверяет, содержит ли коллекция заданное значение
  
  Проверяет, содержит ли коллекция заданное значение.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  Значение для проверки.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если ключ найден, иначе <info>false</info>.


id: Ds\Map::intersect
type: function
doc:
<comment>Description:</comment>
  Создаёт новую коллекцию пар, созданную пересечением с другой коллекцией пар
  
  Создаёт новую коллекцию пар из текущей, содержащую элементы, ключи которых присутствуют как в
  текущей коллекции, так и в переданной в параметре <strong>$map</strong>.
   Другими словами, возвращает копию текущей коллекции, из которой удалены все элементы, ключи
  которых отсутствуют в коллекции из <strong>$map</strong>.
  
  A ∩ B = {x : x ∈ A ∧ x ∈ B}
  
  Значения берутся из текущей коллекции пар.

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  Новая коллекция типа Map.

<comment>Return:</comment>
  <info>Ds\Map</info>  Пересечение текущей коллекции и переданной в <strong>$map</strong>.

<comment>See Also:</comment>
   * Пересечение на Википедия


id: Ds\Map::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Возвращает коллекцию в JSON-представлении
  
  Смотри <strong>JsonSerializable::jsonSerialize()</strong>
  
  Никогда не используйте эту функцию напрямую.


id: Ds\Map::keys
type: function
doc:
<comment>Description:</comment>
  Возвращает набор ключей коллекции
  
  Возвращает набор ключей коллекции, с сохранением их порядка.

<comment>Return:</comment>
  <info>Ds\Set</info>  Коллекция <class>Ds\Set</class>, содержащая все ключи текущей коллекции.


id: Ds\Map::ksort
type: function
doc:
<comment>Description:</comment>
  Сортирует текущую коллекцию по ключам
    
  
  Сортирует текущую коллекцию по ключам, опционально используя callback-функцию <strong>$comparator</strong> для
  сравнения элементов.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::ksorted
type: function
doc:
<comment>Description:</comment>
  Возвращает копию коллекции, отсортированной по ключам
  
  Возвращает копию коллекции, отсортированной по ключам, опционально используя callback-функцию
  <strong>$comparator</strong> для сравнения элементов.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>Ds\Map</info>  Возвращает копию коллекции, отсортированной по ключам.


id: Ds\Map::last
type: function
doc:
<comment>Description:</comment>
  Возвращает последнюю пару коллекции
  
  Возвращает последнюю пару коллекции.

<comment>Return:</comment>
  <info>Ds\Pair</info>  Последний элемент коллекции.


id: Ds\Map::map
type: function
doc:
<comment>Description:</comment>
  Возвращает результат применения callback-функции ко всем значениям коллекции
  
  Возвращает результат применения callback-функции, переданной в <strong>$callback</strong>, ко всем значениям
  коллекции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       Аргумент типа <info>callable</info>.
                       
                       Эта функция должна возвращать новое значение для каждого элемента коллекции.

<comment>Return:</comment>
  <info>Ds\Map</info>  Результат применения <strong>$callback</strong> к каждому значению коллекции.
          
          Значения в текущей коллекции останутся неизменными.


id: Ds\Map::merge
type: function
doc:
<comment>Description:</comment>
  Возвращает результат добавления всех заданных элементов в коллекцию
  
  Возвращает результат добавления всех ключей переданного объекта класса <class>traversable</class> или массива
  (<info>array</info>) с соответствующими значениями в текущую коллекцию.
  
  Значения текущей коллекции будут перезаписаны, если переданные ключи уже существуют.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект класса <class>traversable</class> или <info>array</info>.

<comment>Return:</comment>
  <info>Ds\Map</info>  Возвращает результат добавления всех ключей переданного объекта класса <class>traversable</class> или
          массива с соответствующими значениями в текущую коллекцию
          
          Текущий экземпляр коллекции останется нетронутым.


id: Ds\Map::pairs
type: function
doc:
<comment>Description:</comment>
  Возвращает последовательность, содержащую все пары коллекции
  
  Возвращает <class>Ds\Sequence</class>, содержащую все пары коллекции.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  <class>Ds\Sequence</class>, содержащая все пары исходной коллекции.


id: Ds\Map::put
type: function
doc:
<comment>Description:</comment>
  Установка значения по заданному ключу
  
  Связывает ключ <strong>$key</strong> со значением <strong>$value</strong>, если элемент с таким ключом уже существует - его значение
  перезаписывается.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.
  
  Вы можете использовать синтаксис массива для доступа к значениям, т.е. $map["key"].
  
  Будьте осторожны при использовании синтаксиса массива. Скалярные ключи будут приведены к целым
  движком PHP. К примеру, $map["1"] будет пытаться обратиться к int(1), тогда как $map-&gt;get("1")
  обратится к правильному элементу.
  
  Смотрите раздел Массивы.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>    Ключ.
  <info>mixed</info>  <strong>$value</strong>  Значение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::putAll
type: function
doc:
<comment>Description:</comment>
  Связывает с коллекцией все пары ключ-значение из объекта класса traversable или массива
  
  Связывает с коллекцией все пары ключ-значение <strong>$pairs</strong> из объекта класса <class>traversable</class> или  <info>array</info>.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$pairs</strong>  Объект класса <class>traversable</class> или <info>array</info>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::reduce
type: function
doc:
<comment>Description:</comment>
  Уменьшает коллекцию до одного значения, используя callback-функцию
  
  Уменьшает коллекцию до одного значения, используя callback-функцию.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена в первый раз.
                       
                       Ключ текущей итерации.
                       
                       Значение текущей итерации.
  <info>mixed</info>     <strong>$carry</strong>     Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена в первый раз.
  <info>mixed</info>     <strong>$key</strong>       Ключ текущей итерации.
  <info>mixed</info>     <strong>$value</strong>     Значение текущей итерации.
  <info>mixed</info>     <strong>$initial</strong>   Начальное значение для параметра carry. Можно указать <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  Значение, возвращённое окончательным запуском callback-функции.


id: Ds\Map::remove
type: function
doc:
<comment>Description:</comment>
  Удаляет и возвращает значение по ключу
  
  Удаляет и возвращает значение по ключу, либо возвращает необязательное значение по умолчанию, если
  ключ не найден.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.
  
  Вы можете использовать синтаксис массива для доступа к значениям, т.е. $map["key"].
  
  Будьте осторожны при использовании синтаксиса массива. Скалярные ключи будут приведены к целым
  движком PHP. К примеру, $map["1"] будет пытаться обратиться к int(1), тогда как $map-&gt;get("1")
  обратится к правильному элементу.
  
  Смотрите раздел Массивы.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      Ключ для удаления.
  <info>mixed</info>  <strong>$default</strong>  Необязательный параметр, устанавливающий возвращаемое значение по умолчанию, если
                   ключ не найден.

<comment>Return:</comment>
  <info>mixed</info>  Удалённое значение или <strong>$default</strong>, если он указан, а ключ <strong>$key</strong> не найден.


id: Ds\Map::reverse
type: function
doc:
<comment>Description:</comment>
  Переворачивает текущую коллекцию
    
  
  Переворачивает текущую коллекцию.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::reversed
type: function
doc:
<comment>Description:</comment>
  Возвращает перевёрнутую копию коллекции
  
  Возвращает перевёрнутую копию коллекции.

<comment>Return:</comment>
  <info>Ds\Map</info>  Перевёрнутая копия коллекции.
            Текущая коллекция не изменится. 
          
          Текущая коллекция не изменится.


id: Ds\Map::skip
type: function
doc:
<comment>Description:</comment>
  Возвращает пару по индексу позиции
  
  Возвращает пару по индексу позиции <strong>$position</strong>, первая пара имеет индекс 0.

<comment>Param:</comment>
  <info>int</info>  <strong>$position</strong>  Индекс позиции.

<comment>Return:</comment>
  <info>Ds\Pair</info>  Возвращает <class>Ds\Pair</class> из заданной позиции <strong>$position</strong>.


id: Ds\Map::slice
type: function
doc:
<comment>Description:</comment>
  Возвращает подмножество коллекции из заданного диапазона
    
  
  Возвращает подмножество коллекции из диапазона, заданного начальным индексом <strong>$index</strong> и длиной
  <strong>$length</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   Индекс, задающий начало диапазона.
                
                Если положительный, то будет отсчитываться от начала коллекции. Если отрицательный,
                то от конца.
  <info>int</info>  <strong>$length</strong>  Положительное значение определяет, сколько элементов будет взято. Если количество
                элементов коллекции меньше заданного значения, вернётся столько элементов, сколько
                есть.
                 Отрицательное значение установит индекс, отсчитанный от конца коллекции,
                определяющий конец диапазона.
                 Если длина не задана, то будут возвращены все элементы коллекции от заданного
                индекса до конца коллекции.

<comment>Return:</comment>
  <info>Ds\Map</info>  Подмножество коллекции из заданного диапазона.


id: Ds\Map::sort
type: function
doc:
<comment>Description:</comment>
  Сортирует коллекцию по значениям
    
  
  Сортирует коллекцию по значениям, необязательно используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Map::sorted
type: function
doc:
<comment>Description:</comment>
  Возвращает отсортированную по значению копию коллекции
  
  Возвращает отсортированную по значению копию коллекции, необязательно используя callback-функцию
  <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>Ds\Map</info>  Возвращает отсортированную по значению копию коллекции.


id: Ds\Map::sum
type: function
doc:
<comment>Description:</comment>
  Возвращает сумму всех значений коллекции
  
  Возвращает сумму всех значений коллекции.
  
  Массивы и объекты считаются за ноль.

<comment>Return:</comment>
  <info>int|float</info>  Сумма всех значений коллекции типов <info>float</info> или <info>int</info>, в зависимости от значений коллекции.


id: Ds\Map::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует коллекцию в array
    
  
  Преобразует коллекцию в <info>array</info>.
  
  Коллекции пар, содержащие нескалярные ключи не могут быть преобразованы в массив (<info>array</info>).
  
  Массив (<info>array</info>) будет считать все числовые ключи за целочисленные, т.е. оба ключа "1" и 1 будут
  восприняты как 1 и только один из элементов попадёт в результирующий массив.
  
  Приведение к типу <info>array</info> пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы коллекции с сохранением их порядка.


id: Ds\Map::union
type: function
doc:
<comment>Description:</comment>
  Создаёт новую коллекцию пар из элементов двух коллекций
  
  Создаёт новую коллекцию пар, содержащую пары текущей и переданной в <strong>$map</strong> коллекций.
  
  A ∪ B = {x: x ∈ A ∨ x ∈ B}
  
  В случае совпадения ключей, значения элементов будут браться из переданной коллекции.

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  Новая коллекция, для объединения с текущей.

<comment>Return:</comment>
  <info>Ds\Map</info>  Новая коллекция пар, являющийся объединением текущей и переданной в <strong>$map</strong>.

<comment>See Also:</comment>
   * Объединение в Википедия


id: Ds\Map::values
type: function
doc:
<comment>Description:</comment>
  Возвращает последовательность значений коллекции
  
  Возвращает последовательность значений коллекции, сохраняя их порядок.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Последовательность (<class>Ds\Sequence</class>), содержащая все значения коллекции.


id: Ds\Map::xor
type: function
doc:
<comment>Description:</comment>
  Создаёт новую коллекцию пар из элементов, которые есть в одной из коллекций, но не в обеих
  одновременно
  
  Создаёт новую коллекцию пар из элементов, ключи которых есть в текущей коллекции, либо в
  переданной в <strong>$map</strong>, но не в обеих одновременно.
  
  A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  Вторая коллекция пар.

<comment>Return:</comment>
  <info>Ds\Map</info>  Новая коллекция пар из элементов, ключи которых есть в текущей коллекции, либо в
          переданной в <strong>$map</strong>, но не в обеих одновременно.

<comment>See Also:</comment>
   * Симметрическая разность в Википедия


id: Ds\Pair
type: class
doc:
<comment>Description:</comment>
  Пары используются классом <class>Ds\Map</class> для хранения пар ключ-значение.


id: Ds\Pair::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт экземпляр класса
  
  Создание экземпляр класса с заданными ключом <strong>$key</strong> и значением <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>    Ключ.
  <info>mixed</info>  <strong>$value</strong>  Значение.


id: Ds\Pair::clear
type: function
doc:
<comment>Description:</comment>
  Удаляет все значения
  
  Удаляет все значения из пары.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Pair::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию пары
  
  Возвращает поверхностную копию пары.

<comment>Return:</comment>
  <info>Ds\Pair</info>  .


id: Ds\Pair::isEmpty
type: function
doc:
<comment>Description:</comment>
  Проверяет, является ли пара пустой
  
  Определяет, является ли пара пустой.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если пара пустая и <info>false</info> в противном случае.


id: Ds\Pair::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Возвращает пару в представлении JSON
  
  Смотрите функцию <strong>JsonSerializable::jsonSerialize()</strong>
  
  Вы не должны вызывать этот метод напрямую.


id: Ds\Pair::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует пару в массив (array)
    
  
  Преобразует пару в массив (<info>array</info>).
  
  Приведение к массиву пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив, содержащий элементы в том же порядке, как они были в паре.


id: Ds\PriorityQueue
type: class
doc:
<comment>Description:</comment>
  Очередь с приоритетом очень похожа на обычную очередь. Значения добавляются в очередь с заданным
  приоритетом, и значения с более высоким приоритетом всегда будут находиться ближе к началу.
  
  Реализована с использованием максимальной кучи.
  
  Порядок FIFO сохраняется у значений с одинаковым приоритетом.
  
  Итерация через очередь происходит с удалением взятого элемента. Эквивалентно использованию
  оператора pop, пока очередь не станет пустой.


id: Ds\PriorityQueue::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет память под указанную вместимость
  
  Гарантирует, что выделено достаточно памяти под заданную вместимость (количество значений).
  Позволяет избежать динамического перераспределения памяти при добавлении значений.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Если новое значение вместимости меньше текущего, то оно не изменится.
                  
                  Значение вместимости округляется вверх до ближайшей степени двойки (т.е. 8, 16,
                  32, 64, 128 и т.д.)

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\PriorityQueue::clear
type: function
doc:
<comment>Description:</comment>
  Удаляет все значения
  
  Удаляет все значения из очереди.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\PriorityQueue::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию очереди
  
  Возвращает поверхностную копию очереди.

<comment>Return:</comment>
  <info>Ds\PriorityQueue</info>  Поверхностная копия очереди.


id: Ds\PriorityQueue::count
type: function
doc:
<comment>Description:</comment>
  Возвращает количество элементов в очереди
  
  Смотрите <strong>Countable::count()</strong>


id: Ds\PriorityQueue::isEmpty
type: function
doc:
<comment>Description:</comment>
  Проверяет, пуста ли коллекция
  
  Проверяет, пуста ли коллекция.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если очередь пуста, <info>false</info> в противном случае.


id: Ds\PriorityQueue::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Возвращает коллекцию в JSON-представление
  
  Смотрите <strong>JsonSerializable::jsonSerialize()</strong>
  
  Никогда не используйте эту функцию напрямую.


id: Ds\PriorityQueue::peek
type: function
doc:
<comment>Description:</comment>
  Возвращает значение из начала очереди
  
  Возвращает значение из начала очереди, но не удаляет его.

<comment>Return:</comment>
  <info>mixed</info>  Значение из начала очереди.


id: Ds\PriorityQueue::pop
type: function
doc:
<comment>Description:</comment>
  Удаляет и возвращает значение с наивысшим приоритетом
  
  Удаляет и возвращает значение из начала очереди, т.е. значение с наивысшим приоритетом.
  
  Значения с одинаковым приоритетом возвращаются по принципу FIFO.

<comment>Return:</comment>
  <info>mixed</info>  Удалённое значение из начала очереди.


id: Ds\PriorityQueue::push
type: function
doc:
<comment>Description:</comment>
  Добавляет значение в очередь
  
  Добавляет <strong>$value</strong> с заданным приоритетом <strong>$priority</strong> в очередь.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>     Добавляемое значение.
  <info>int</info>    <strong>$priority</strong>  Приоритет, с которым добавляется значение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\PriorityQueue::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует очередь в массив (array)
    
  
  Преобразует очередь в массив (<info>array</info>).
  
  Этот метод не является разрушительным.
  
  Приведение к типу <info>array</info> пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы очереди с сохранением их порядка.


id: Ds\Queue
type: class
doc:
<comment>Description:</comment>
  Очередь - это коллекция типа "Первый вошёл, первый вышел" (First In, First Out или FIFO), которая
  позволяет работать только с самым первым значением. Итерация происходит от начала к концу с
  удалением взятого элемента.


id: Ds\Queue::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет память под указанную вместимость
  
  Гарантирует, что выделено достаточно памяти под заданную вместимость (количество значений).
  Позволяет избежать динамического перераспределения памяти при добавлении значений.
  
  Значение вместимости округляется до ближайшей степени двойки (т.е. 8, 16, 32, 64, 128 и т.д.)

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Если новое значение вместимости меньше текущего, то она не изменится.
                  
                  Значение вместимости округляется до ближайшей степени двойки (т.е. 8, 16, 32, 64,
                  128 и т.д.)

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Queue::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию очереди
  
  Возвращает поверхностную копию очереди.

<comment>Return:</comment>
  <info>Ds\Queue</info>  Поверхностная копия очереди.


id: Ds\Queue::count
type: function
doc:
<comment>Description:</comment>
  Возвращает количество элементов очереди
  
  Смотрите <strong>Countable::count()</strong>


id: Ds\Queue::isEmpty
type: function
doc:
<comment>Description:</comment>
  Проверяет, пуста ли коллекция
  
  Проверяет, пуста ли коллекция.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если коллекция пуста, <info>false</info> в противном случае.


id: Ds\Queue::pop
type: function
doc:
<comment>Description:</comment>
  Удаляет и возвращает значение из начала очереди
  
  Удаляет и возвращает значение из начала очереди.

<comment>Return:</comment>
  <info>mixed</info>  Удалённое значение из начала очереди.


id: Ds\Queue::push
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в очередь
  
  Добавляет значения <strong>$values</strong> в очередь.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Queue::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует коллекцию в массив (array)
    
  
  Преобразует коллекцию в массив (<info>array</info>).
  
  Приведение к типу <info>array</info> пока не поддерживается.
  
  Этот метод не является разрушительным.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы коллекции с сохранением их порядка.


id: Ds\Sequence
type: class
doc:
<comment>Description:</comment>
  Последовательность описывает поведение, при котором значения распределены в одном, линейном
  порядке. В некоторых языках данное поведение описывается как "List". Это похоже на массив, в
  котором используются целочисленные ключи, за исключением нескольких моментов: Значения всегда
  проиндексированы по порядку [0, 1, 2, …, size - 1].Можно обращаться только к значениям
  индексированным в диапазоне [0, size - 1].
  
  В каких случаях используется: Если вы хотите использовать массив, как список (не обращая внимания
  на ключи).Более эффективная альтернатива для <class>SplDoublyLinkedList</class> и <class>SplFixedArray</class>.


id: Ds\Sequence::allocate
type: function
doc:
<comment>Description:</comment>
  Выделение памяти под указанную вместимость
  
  Гарантирует, что выделено достаточно памяти под заданную вместимость (количество значений).
  Позволяет избежать динамического добавления памяти при добавлении значений.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Если новое значение вместимости меньше текущего, то она не изменится.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Sequence::apply
type: function
doc:
<comment>Description:</comment>
  Обновление всех значений применением к ним переданной callback-функции
  
  Обновление всех значений применением к ним переданной <strong>$callback</strong>-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Объект типа <info>callable</info>.
                       
                       Callback-функция должна возвращать новое значение, которое заменит текущее.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Sequence::contains
type: function
doc:
<comment>Description:</comment>
  Проверяет, содержатся ли в коллекции заданные значения
  
  Проверяет, содержатся ли в коллекции заданные значения.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Значения для проверки.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>false</info>, если хотя бы одно значение из <strong>$values</strong> не найдено в коллекции и <info>true</info> в
        противном случае.


id: Ds\Sequence::filter
type: function
doc:
<comment>Description:</comment>
  Создаёт новую последовательность из элементов, выбранных с помощью заданной callback-функции
    
  
  Создаёт новую последовательность из элементов, выбранных с помощью заданной callback-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Необязательный аргумент типа <info>callable</info>, который возвращает <info>true</info>, если значение
                       должно быть включено и <info>false</info>, если нет.
                       
                       Если callback-функция не задана, то будут включены только элементы, которые
                       приводятся к логическому значению <info>true</info> (смотри приведение к boolean).

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Новая последовательность, содержащая значения, для которых функция <strong>$callback</strong> вернула
               <info>true</info>, или все элементы, которые при приведении к логическому типу становятся <info>true</info>,
               если параметр <strong>$callback</strong> не задан.


id: Ds\Sequence::find
type: function
doc:
<comment>Description:</comment>
  Поиск индекса по значению
    
  
  Возвращает индекс значения <strong>$value</strong>, или <info>false</info>, если ничего не найдено.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  Искомое значение.

<comment>Return:</comment>
  <info>mixed</info>  Индекс элемента, или <info>false</info>, если значение не найдено.
         
         Элементы сравниваются строго, по типу и значению.


id: Ds\Sequence::first
type: function
doc:
<comment>Description:</comment>
  Возвращает первый элемент коллекции
  
  Возвращает первый элемент коллекции.

<comment>Return:</comment>
  <info>mixed</info>  Первый элемент коллекции.


id: Ds\Sequence::insert
type: function
doc:
<comment>Description:</comment>
  Вставляет значения по указанному индексу
  
  Вставляет значения по указанному индексу.

<comment>Param:</comment>
  <info>int</info>    <strong>$index</strong>   Индекс, по которому необходимо осуществить вставку. 0 \<= index \<= count
                  
                  Можно указывать индекс, равный количеству элементов коллекции.
  <info>mixed</info>  <strong>$values</strong>  Значение или значения для вставки.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Sequence::join
type: function
doc:
<comment>Description:</comment>
  Склеивает все значения в строку
  
  Склеивает все значения в строку, опционально используя заданный разделитель.

<comment>Param:</comment>
  <info>string</info>  <strong>$glue</strong>  Необязательный параметр, задающий разделитель между значениями.

<comment>Return:</comment>
  <info>string</info>  Все значения коллекции, склеенные в одну строку.


id: Ds\Sequence::last
type: function
doc:
<comment>Description:</comment>
  Возвращает последнее значение коллекции
  
  Возвращает последнее значение коллекции.

<comment>Return:</comment>
  <info>mixed</info>  Последний элемент коллекции.


id: Ds\Sequence::map
type: function
doc:
<comment>Description:</comment>
  Возвращает результат применения callback-функции ко всем значениям коллекции
  
  Возвращает результат применения callback-функции, переданной в <strong>$callback</strong>, ко всем значениям
  коллекции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Аргумент типа <info>callable</info>.
                       
                       Эта функция должна возвращать новое значение для каждого элемента коллекции.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Результат применения <strong>$callback</strong> к каждому значению коллекции.
               
               Значения в текущей коллекции останутся неизменными.


id: Ds\Sequence::merge
type: function
doc:
<comment>Description:</comment>
  Возвращает результат добавления всех заданных значений в коллекцию
  
  Возвращает результат добавления всех заданных значений в коллекцию.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект класса <class>traversable</class> или <info>array</info>.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Результат добавления всех переданных значений в коллекцию. Фактически делается копия
               коллекции, в которую добавляются значения.
               
               Текущий экземпляр коллекции останется нетронутым.


id: Ds\Sequence::push
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в конец последовательности
  
  Добавляет значения в конец последовательности.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Sequence::reduce
type: function
doc:
<comment>Description:</comment>
  Схлопывает коллекцию до одного значения используя callback-функцию
  
  Схлопывает коллекцию до одного значения используя callback-функцию.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
                       
                       Значение текущей итерации.
  <info>mixed</info>     <strong>$carry</strong>     Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
  <info>mixed</info>     <strong>$value</strong>     Значение текущей итерации.
  <info>mixed</info>     <strong>$initial</strong>   Начальное значение параметра carry. Можно указать <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  Значение, возвращённое финальным запуском callback-функции.


id: Ds\Sequence::reversed
type: function
doc:
<comment>Description:</comment>
  Возвращает перевёрнутую копию коллекции
  
  Возвращает перевёрнутую копию коллекции.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Перевёрнутая копия коллекции.
                 Текущая коллекция не изменится. 
               
               Текущая коллекция не изменится.


id: Ds\Sequence::rotate
type: function
doc:
<comment>Description:</comment>
  Перематывает последовательность на заданное число значений
  
  Перематывает последовательность на заданное число значений. Данная операция аналогична выполнению
  заданного количество раз кода $sequence-&gt;push($sequence-&gt;shift()), если число оборотов
  положительно и $sequence-&gt;unshift($sequence-&gt;pop()), если отрицательно.

<comment>Param:</comment>
  <info>int</info>  <strong>$rotations</strong>  Количество значений, которые надо "перемотать".

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.. Будет изменена текущая последовательность.


id: Ds\Sequence::slice
type: function
doc:
<comment>Description:</comment>
  Возвращает под-коллекцию из заданного диапазона
    
  
  Возвращает под-коллекцию из диапазона, заданного начальным индексом <strong>$index</strong> и длиной <strong>$length</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   Индекс, задающий начало диапазона.
                
                Если положительный, то будет отсчитываться от начала коллекции. Если отрицательный,
                то от конца.
  <info>int</info>  <strong>$length</strong>  Положительное значение определяет, сколько элементов будет взято. Если количество
                элементов коллекции меньше заданного значения, вернётся столько элементов, сколько
                есть.
                 Отрицательное значение задаст индекс, отсчитанный от конца коллекции, определяющий
                конец диапазона.
                 Если длина не задана, то будут возвращены все элементы коллекции от заданного
                индекса до конца коллекции.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Под-коллекция из заданного диапазона.


id: Ds\Sequence::sort
type: function
doc:
<comment>Description:</comment>
  Сортирует коллекцию
    
  
  Сортирует коллекцию, опционально используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Sequence::sorted
type: function
doc:
<comment>Description:</comment>
  Возвращает отсортированную по значению копию коллекции
  
  Возвращает отсортированную копию коллекции, опционально используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Возвращает отсортированную по значению копию коллекции.


id: Ds\Sequence::unshift
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в начало последовательности
  
  Добавляет значения в начало последовательности, перемещая все текущие значения вперёд, чтобы
  освободить место для новых значений.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.  Множество значений добавляются в том порядке, как они были
                  переданы.
                  
                  Множество значений добавляются в том порядке, как они были переданы.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Set
type: class
doc:
<comment>Description:</comment>
  Set - это последовательность уникальных значений. Реализация использует ту же хеш-таблицу, что и
  <class>Ds\Map</class>, в которой значения используются в качестве ключей, а связанные значения игнорируются.


id: Ds\Set::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый экземпляр класса
  
  Создаёт новый экземпляр класса, используя либо объект, реализующий <class>traversable</class>, либо массив,
  переданные в качестве параметра <strong>$values</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект, реализующий интерфейс traversable или массив.


id: Ds\Set::add
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в набор
  
  Добавляет все заданные значения в набор, если они ранее не были добавлены.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.
  
  Все сравнения строгие (по типу и значению).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Set::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет память под указанную вместимость
  
  Выделяет память под указанную вместимость.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Если новое значение вместимости меньше текущего, то оно не изменится.
                  
                  Значение вместимости округляется вверх до ближайшей степени двойки (т.е 8, 16, 32,
                  64, 128 и т.д.)

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Set::contains
type: function
doc:
<comment>Description:</comment>
  Проверяет, содержится ли в коллекции заданные значения
  
  Проверяет, содержится ли в коллекции заданные значения.
  
  Поддерживаются значения типа <info>object</info>.
   Если объект реализует интерфейс <class>Ds\Hashable</class>, проверка производится путём вызова метода объекта
  equals.
   Если объект не реализует интерфейс <class>Ds\Hashable</class>, объекты должны ссылаться на один и тот же
  экземпляр класса.
  
  Все сравнения строгие, по типу и значению.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Значения для проверки.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>false</info>, если хотя бы одно значение из <strong>$values</strong> не найдено в коллекции и <info>true</info> в
        противном случае.


id: Ds\Set::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию коллекции
  
  Возвращает поверхностную копию коллекции.

<comment>Return:</comment>
  <info>Ds\Set</info>  Поверхностная копия коллекции.


id: Ds\Set::diff
type: function
doc:
<comment>Description:</comment>
  Создаёт новый набор с элементами, которых нет в другом наборе
  
  Создаёт новый набор с элементами, которых нет в другом наборе.
  
  A \ B = {x ∈ A | x ∉ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  Набор, содержащий элементы, которые надо исключить из нового набора.

<comment>Return:</comment>
  <info>Ds\Set</info>  Новый набор, содержащий все элементы, которые есть в текущем наборе и отсутствуют в
          переданном <strong>$set</strong>.

<comment>See Also:</comment>
   * Разность множеств на Википедия


id: Ds\Set::filter
type: function
doc:
<comment>Description:</comment>
  Создаёт новый список из элементов, выбранных с помощью заданной callback-функции
    
  
  Создаёт новый набор из элементов, выбранных с помощью заданной callback-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Опциональный аргумент типа <info>callable</info>, который возвращает <info>true</info>, если значение
                       должно быть включено и <info>false</info>, если нет.
                       
                       Если callback-функция не задана, то будут включены только элементы, которые
                       приводятся к логическому значению <info>true</info> (смотреть приведение к boolean).

<comment>Return:</comment>
  <info>Ds\Set</info>  Новый набор, содержащий значения, для которых функция <strong>$callback</strong> вернула <info>true</info>, либо все
          элементы, которые при приведении к логическому типу становятся <info>true</info>, если параметр
          <strong>$callback</strong> не задан.


id: Ds\Set::intersect
type: function
doc:
<comment>Description:</comment>
  Создаёт новый набор, созданный пересечением с другим набором
  
  Создаёт новый набор, содержащий значения, которые присутствуют в текущем наборе и наборе,
  переданном параметром <strong>$set</strong>.
  
  A ∩ B = {x : x ∈ A ∧ x ∈ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  Новый набор типа Set.

<comment>Return:</comment>
  <info>Ds\Set</info>  Пересечение текущего набора и переданного в <strong>$set</strong>.

<comment>See Also:</comment>
   * Пересечение на Википедия


id: Ds\Set::merge
type: function
doc:
<comment>Description:</comment>
  Возвращает результат добавления всех заданных значений в набор
  
  Возвращает результат добавления всех заданных значений в набор.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект класса <class>traversable</class> или массив (<info>array</info>).

<comment>Return:</comment>
  <info>Ds\Set</info>  Результат добавления всех переданных значений в набор. Фактически делается копия набора, в
          которую добавляются значения.
          
          Текущий экземпляр набора останется нетронутым.


id: Ds\Set::reduce
type: function
doc:
<comment>Description:</comment>
  Уменьшает коллекцию до одного значения, используя callback-функцию
  
  Уменьшает коллекцию до одного значения, используя callback-функцию.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
                       
                       Значение текущей итерации.
  <info>mixed</info>     <strong>$carry</strong>     Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
  <info>mixed</info>     <strong>$value</strong>     Значение текущей итерации.
  <info>mixed</info>     <strong>$initial</strong>   Начальное значение параметра carry. Можно указать <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  Значение, возвращённое окончательным запуском callback-функции.


id: Ds\Set::remove
type: function
doc:
<comment>Description:</comment>
  Удаляет все заданные значения из набора
  
  Удаляет все заданные значения <strong>$values</strong> из набора. Значения, которые отсутствуют в наборе, будут
  проигнорированы.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Значения для удаления.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Set::reversed
type: function
doc:
<comment>Description:</comment>
  Возвращает перевёрнутую копию коллекции
  
  Возвращает перевёрнутую копию коллекции.

<comment>Return:</comment>
  <info>Ds\Set</info>  Перевёрнутая копия коллекции.
            Текущая коллекция не изменится. 
          
          Текущая коллекция не изменится.


id: Ds\Set::slice
type: function
doc:
<comment>Description:</comment>
  Возвращает поднабор из заданного диапазона
    
  
  Возвращает поднабор из диапазона, заданного начальным индексом <strong>$index</strong> и длиной <strong>$length</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   Индекс, задающий начало диапазона.
                
                Если положительный, то будет отсчитываться от начала коллекции. Если отрицательный,
                то от конца.
  <info>int</info>  <strong>$length</strong>  Положительное значение определяет, сколько элементов будет взято. Если количество
                элементов коллекции меньше заданного значения, вернётся столько элементов, сколько
                есть.
                 Отрицательное значение задаст индекс, отсчитанный от конца коллекции, определяющий
                конец диапазона.
                 Если длина не задана, то будут возвращены все элементы коллекции от заданного
                индекса до конца коллекции.

<comment>Return:</comment>
  <info>Ds\Set</info>  Под-коллекция из заданного диапазона.


id: Ds\Set::sorted
type: function
doc:
<comment>Description:</comment>
  Возвращает отсортированную по значению копию коллекции
  
  Возвращает отсортированную копию коллекции, опционально используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>Ds\Set</info>  Возвращает отсортированную по значению копию коллекции.


id: Ds\Set::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует коллекцию в массив (array)
    
  
  Преобразует коллекцию в массив (<info>array</info>).
  
  Приведение к типу <info>array</info> пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы коллекции с сохранением их порядка.


id: Ds\Set::union
type: function
doc:
<comment>Description:</comment>
  Создаёт новый набор из элементов текущего и переданного наборов
  
  Создаёт новый набор из элементов текущего и переданного в <strong>$set</strong> наборов.
  
  A ∪ B = {x: x ∈ A ∨ x ∈ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  Новый набор для объединения с текущим.

<comment>Return:</comment>
  <info>Ds\Set</info>  Новый набор, являющийся объединением текущего и переданного в <strong>$set</strong>.

<comment>See Also:</comment>
   * Объединение в Википедия


id: Ds\Set::xor
type: function
doc:
<comment>Description:</comment>
  Создаёт новый набор из значений, которые есть в одном из наборов, но не в обоих одновременно
  
  Создаёт новый набор из значений, которые есть в текущем наборе, либо в наборе заданном в <strong>$set</strong>, но
  не в обоих одновременно.
  
  A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  Второй набор.

<comment>Return:</comment>
  <info>Ds\Set</info>  Новый набор из значений, которые есть в текущем наборе, либо в наборе заданном в <strong>$set</strong>, но
          не в обоих одновременно.

<comment>See Also:</comment>
   * Симметрическая разность в Википедия


id: Ds\Stack
type: class
doc:
<comment>Description:</comment>
  Стек - это коллекция типа "Последний вошёл, первый вышел" (Last In, First Out или LIFO), которая
  позволяет работать только с самым верхним (последним) значением. Итерация происходит от конца к
  началу с удалением взятого элемента.
  
  Внутри себя использует класс <class>Ds\Vector</class>.


id: Ds\Stack::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый экземпляр класса
  
  Создаёт новый экземпляр класса, используя либо объект реализующий <class>traversable</class>, либо массив,
  переданные в качестве параметра <strong>$values</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект, реализующий интерфейс traversable или массив.


id: Ds\Stack::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет память под указанную вместимость
  
  Гарантирует, что выделено достаточно памяти под заданную вместимость (количество значений).
  Позволяет избежать динамического перераспределения памяти при добавлении значений.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Если новое значение вместимости меньше текущего, то оно не изменится.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Stack::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию коллекции
  
  Возвращает поверхностную копию коллекции.

<comment>Return:</comment>
  <info>Ds\Stack</info>  Поверхностная копия коллекции.


id: Ds\Stack::peek
type: function
doc:
<comment>Description:</comment>
  Возвращает значение с вершины стека
  
  Возвращает значение с вершины стека, но не удаляет его.

<comment>Return:</comment>
  <info>mixed</info>  Значение с вершины стека.


id: Ds\Stack::pop
type: function
doc:
<comment>Description:</comment>
  Удаляет и возвращает значение с вершины стека
  
  Удаляет и возвращает значение с вершины стека.

<comment>Return:</comment>
  <info>mixed</info>  Удалённое с вершины стека значение.


id: Ds\Stack::push
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в стек
  
  Добавляет значения <strong>$values</strong> в стек

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Stack::toArray
type: function
doc:
<comment>Description:</comment>
  Преобразует коллекцию в массив (array)
    
  
  Преобразует коллекцию в <info>array</info>.
  
  Приведение к типу <info>array</info> пока не поддерживается.

<comment>Return:</comment>
  <info>array</info>  Массив (<info>array</info>), содержащий все элементы коллекции с сохранением их порядка.


id: Ds\Vector
type: class
doc:
<comment>Description:</comment>
  Вектор - это последовательность значений в непрерывном буфере, который растёт и обрезается
  автоматически. Это наиболее эффективная последовательная структура, поскольку индексы значений
  прямо отображаются на их индекс в буфере, и фактор роста не влияет на сложность доступа.


id: Ds\Vector::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый экземпляр
  
  Создаёт новый экземпляр, используя либо объект реализующий <class>traversable</class>, либо массив, переданные в
  качестве параметра <strong>$values</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект, реализующий интерфейс traversable или массив.


id: Ds\Vector::allocate
type: function
doc:
<comment>Description:</comment>
  Выделяет память под указанную вместимость
  
  Гарантирует, что выделено достаточно памяти под заданную вместимость (количество значений).
  Позволяет избежать динамического перераспределения памяти при добавлении значений.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  Вместимость. Предполагаемое количество значений.
                  
                  Вместимость останется неизменной, если её значение меньше или равно текущей
                  вместимости.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::apply
type: function
doc:
<comment>Description:</comment>
  Обновляет все значения, применяя к ним переданную callback-функцию
  
  Обновляет все значения, применяя к ним переданную <strong>$callback</strong>-функцию.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Объект типа <info>callable</info>.
                       
                       Callback-функция должна возвращать новое значение, которое заменит текущее.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::clear
type: function
doc:
<comment>Description:</comment>
  Удаляет все значения
  
  Удаляет все значения из вектора.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::contains
type: function
doc:
<comment>Description:</comment>
  Проверяет, содержится ли в векторе заданные значения
  
  Проверяет, содержится ли в векторе заданные значения.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Значения для проверки.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>false</info>, если хотя бы одно значение из <strong>$values</strong> не найдено в векторе и <info>true</info> в
        противном случае.


id: Ds\Vector::copy
type: function
doc:
<comment>Description:</comment>
  Возвращает поверхностную копию вектора
  
  Возвращает поверхностную копию вектора.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Поверхностная копия вектора.


id: Ds\Vector::count
type: function
doc:
<comment>Description:</comment>
  Возвращает количество элементов вектора
  
  Смотрите <strong>Countable::count()</strong>


id: Ds\Vector::filter
type: function
doc:
<comment>Description:</comment>
  Создаёт новый вектор из элементов, выбранных с помощью заданной callback-функции
    
  
  Создаёт новый вектор из элементов, выбранных с помощью заданной callback-функции.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Опциональный аргумент типа <info>callable</info>, который возвращает <info>true</info>, если значение
                       должно быть включено и <info>false</info>, если нет.
                       
                       Если callback-функция не задана, то будут включены только элементы, которые
                       приводятся к логическому значению <info>true</info> (смотрите приведение к boolean).

<comment>Return:</comment>
  <info>Ds\Vector</info>  Новый вектор, содержащий значения, для которых функция <strong>$callback</strong> вернула <info>true</info>, либо все
             элементы, которые при приведении к логическому типу становятся <info>true</info>, если параметр
             <strong>$callback</strong> не задан.


id: Ds\Vector::first
type: function
doc:
<comment>Description:</comment>
  Возвращает первый элемент вектора
  
  Возвращает первый элемент вектора.

<comment>Return:</comment>
  <info>mixed</info>  Первый элемент вектора.


id: Ds\Vector::insert
type: function
doc:
<comment>Description:</comment>
  Вставляет значения по указанному индексу
  
  Вставляет значения по указанному индексу.

<comment>Param:</comment>
  <info>int</info>    <strong>$index</strong>   Индекс, по которому необходимо осуществить вставку. 0 \<= index \<= count
                  
                  Можно указать индекс, равный количеству элементов вектора.
  <info>mixed</info>  <strong>$values</strong>  Значение или значения для вставки.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::isEmpty
type: function
doc:
<comment>Description:</comment>
  Проверяет, пуст ли вектор
  
  Проверяет, пуст ли вектор.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если вектор пуст, <info>false</info> в противном случае.


id: Ds\Vector::join
type: function
doc:
<comment>Description:</comment>
  Склеивает все значения в строку
  
  Склеивает все значения в строку, опционально используя заданный разделитель.

<comment>Param:</comment>
  <info>string</info>  <strong>$glue</strong>  Необязательный параметр, задающий разделитель между значениями.

<comment>Return:</comment>
  <info>string</info>  Все значения вектора, склеенные в одну строку.


id: Ds\Vector::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Возвращает вектор в JSON-представлении
  
  Смотрите <strong>JsonSerializable::jsonSerialize()</strong>
  
  Никогда не используйте эту функцию напрямую.


id: Ds\Vector::last
type: function
doc:
<comment>Description:</comment>
  Возвращает последнее значение вектора
  
  Возвращает последнее значение вектора.

<comment>Return:</comment>
  <info>mixed</info>  Последний элемент вектора.


id: Ds\Vector::map
type: function
doc:
<comment>Description:</comment>
  Возвращает результат применения callback-функции ко всем значениям вектора
  
  Возвращает результат применения callback-функции, переданной в <strong>$callback</strong>, ко всем значениям
  вектора.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Аргумент типа <info>callable</info>.
                       
                       Эта функция должна возвращать новое значение для каждого элемента вектора.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Результат применения <strong>$callback</strong> к каждому значению вектора.
             
             Значения в текущей коллекции останутся неизменными.


id: Ds\Vector::merge
type: function
doc:
<comment>Description:</comment>
  Возвращает результат добавления всех заданных значений в вектор
  
  Возвращает результат добавления всех заданных значений в вектор.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Объект класса <class>traversable</class> или массив (<info>array</info>).

<comment>Return:</comment>
  <info>Ds\Vector</info>  Результат добавления всех переданных значений в вектор. Фактически делается копия
             вектора, в который добавляются значения.
             
             Текущий экземпляр вектора останется нетронутым.


id: Ds\Vector::push
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в конец вектора
  
  Добавляет значения в конец вектора.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::reduce
type: function
doc:
<comment>Description:</comment>
  Уменьшает вектор до одного значения, используя callback-функцию
  
  Схлопывает вектор до одного значения, используя callback-функцию.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
                       
                       Значение текущей итерации.
  <info>mixed</info>     <strong>$carry</strong>     Значение, возвращённое предыдущим запуском функции или <strong>$initial</strong>, если функция
                       запущена первый раз.
  <info>mixed</info>     <strong>$value</strong>     Значение текущей итерации.
  <info>mixed</info>     <strong>$initial</strong>   Начальное значение параметра carry. Можно указать <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  Значение возвращённое окончательным запуском callback-функции.


id: Ds\Vector::reverse
type: function
doc:
<comment>Description:</comment>
  Переворачивает текущий вектор
    
  
  Переворачивает текущий вектор.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::reversed
type: function
doc:
<comment>Description:</comment>
  Возвращает перевёрнутую копию вектора
  
  Возвращает перевёрнутую копию вектора.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Перевёрнутая копия вектора.
               Текущий вектор не изменится. 
             
             Текущий вектор не изменится.


id: Ds\Vector::rotate
type: function
doc:
<comment>Description:</comment>
  Перематывает вектор на заданное число значений
  
  Перематывает вектор на заданное число значений. Данная операция аналогична выполнению заданное
  количество раз кода $vector-&gt;push($vector-&gt;shift()), если число оборотов положительно и
  $vector-&gt;unshift($vector-&gt;pop()), если отрицательно.

<comment>Param:</comment>
  <info>int</info>  <strong>$rotations</strong>  Количество значений, которые надо "перемотать".

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.. Будет изменён текущий вектор.


id: Ds\Vector::slice
type: function
doc:
<comment>Description:</comment>
  Возвращает подвектор из заданного диапазона
    
  
  Возвращает подвектор из диапазона заданного начальным индексом <strong>$index</strong> и длиной <strong>$length</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   Индекс, задающий начало диапазона.
                
                Если положительный, то будет отсчитываться от начала вектора. Если отрицательный, то
                от конца.
  <info>int</info>  <strong>$length</strong>  Положительное значение определяет, сколько элементов будет взято. Если количество
                элементов вектора меньше заданного значения, вернётся столько элементов, сколько
                есть.
                 Отрицательное значение задаст индекс, отсчитанный от конца вектора, определяющий
                конец диапазона.
                 Если длина не задана, то будут возвращены все элементы вектора от заданного индекса
                до конца вектора.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Подвектор из заданного диапазона.


id: Ds\Vector::sort
type: function
doc:
<comment>Description:</comment>
  Сортирует вектор
    
  
  Сортирует вектор, опционально используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ds\Vector::sorted
type: function
doc:
<comment>Description:</comment>
  Возвращает отсортированную по значению копию коллекции
  
  Возвращает отсортированную копию коллекции, опционально используя callback-функцию <strong>$comparator</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  Функция сравнения должна возвращать целое, которое меньше, равно или больше
                         нуля, если первый аргумент является соответственно меньшим, равным или
                         большим, чем второй.
                         
                         Возвращение нецелых значений из функции сравнения, таких как число с
                         плавающей точкой (<info>float</info>), приведёт к внутреннему приведению возвращаемого
                         значения callback-функции к целому числу (<info>int</info>). Таким образом, значения
                         <return>0.99</return> и <return>0.1</return> будут приведены к целочисленному значению <return>0</return>, что позволит
                         сравнить эти значения как равные.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Возвращает отсортированную по значению копию коллекции.


id: Ds\Vector::unshift
type: function
doc:
<comment>Description:</comment>
  Добавляет значения в начало вектора
  
  Добавляет значения в начало вектора, сдвигая все элементы вперёд, чтобы освободить место для
  новых.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Добавляемые значения.  Множество значений добавляются в том порядке, как они были
                  переданы.
                  
                  Множество значений добавляются в том порядке, как они были переданы.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EIO_DT_MPB
type: constant
doc:
<comment>Description:</comment>
  Тип узла мультиплексное блочное устройство (Multiplexed block device) (v7+coherent)


id: EIO_DT_NAM
type: constant
doc:
<comment>Description:</comment>
  Тип узла специальный именованный файл Xenix (Xenix special named file)


id: EIO_DT_UNKNOWN
type: constant
doc:
<comment>Description:</comment>
  Неизвестный тип узла (очень распространено). Далее необходим вызов <strong>stat()</strong>.


id: EIO_READDIR_DENTS
type: constant
doc:
<comment>Description:</comment>
  Флаг <strong>eio_readdir()</strong>. Если указан, аргумент для выполнения callback-функции становится массивом со
  следующими ключами: <return>'names'</return> - массив имён директории <return>'dents'</return> - массив массивов вида <return>struct
  eio_dirent</return>, каждый из которых имеет ключи: <return>'name'</return> - имя директории; <return>'type'</return> - одна из констант
  EIO_DT_*; <return>'inode'</return> - Номер inode, если он доступен, иначе значение не указывается;


id: EIO_READDIR_DIRS_FIRST
type: constant
doc:
<comment>Description:</comment>
  Когда флаг указан, имена будут возвращены в порядке, при котором будут возвращены первыми
  директории в оптимальном порядке.


id: EIO_READDIR_STAT_ORDER
type: constant
doc:
<comment>Description:</comment>
  Когда флаг указан, имена будут возвращены в порядке, в зависимости от <return>stat</return> каждого из них. Если
  планируется выполнить <strong>stat()</strong> для всех файлов в директории, такой порядок будет, скорее всего,
  наиболее быстрым.


id: EIO_SEEK_CUR
type: constant
doc:
<comment>Description:</comment>
  Смещение <strong>$offset</strong>, заданное в байтах от текущего значения.


id: EIO_SEEK_END
type: constant
doc:
<comment>Description:</comment>
  Смещение <strong>$offset</strong>, заданное в байтах от размера файла.


id: ENCHANT_ISPELL
type: constant
doc:
<comment>Description:</comment>
  Тип словаря Ispell. Используется с <strong>enchant_broker_get_dict_path()</strong> и
  <strong>enchant_broker_set_dict_path()</strong>. Объявлено устаревшим в PHP 8.0.0.


id: ENCHANT_MYSPELL
type: constant
doc:
<comment>Description:</comment>
  Тип словаря MySpell. Используется с <strong>enchant_broker_get_dict_path()</strong> и
  <strong>enchant_broker_set_dict_path()</strong>. Объявлено устаревшим в PHP 8.0.0.


id: ENCQUOTEDPRINTABLE
type: constant
doc:
<comment>Description:</comment>
  Кодировка тела сообщения: человеко-читаемые 7-как-8 битные данные


id: EXIF_USE_MBSTRING
type: constant
doc:
<comment>Description:</comment>
  Эта константа равна <return>1</return> если разрешено mbstring, или <return>0</return>, если нет.


id: EXP_EOF
type: constant
doc:
<comment>Description:</comment>
  Значение, возвращаемое <strong>expect_expectl()</strong>, когда достигнут конец файла.


id: EXP_FULLBUFFER
type: constant
doc:
<comment>Description:</comment>
  Значение, возвращаемое <strong>expect_expectl()</strong>, когда совпадений с шаблоном не найдено.


id: EXP_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Значение, возвращаемое <strong>expect_expectl()</strong> после исчерпания времени ожидания, заданного в
  expect.timeout


id: EmptyIterator::current
type: function
doc:
<comment>Description:</comment>
  Метод current()
  
  Функция не должна вызываться. Выбрасывает исключение при попытке доступа.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>never</info>  Функция не возвращает значения после выполнения.


id: EmptyIterator::key
type: function
doc:
<comment>Description:</comment>
  Метод key()
  
  Эта функция не должна вызываться. Вызывает исключение при попытке доступа.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>never</info>  Функция не возвращает значения после выполнения.


id: EmptyIterator::next
type: function
doc:
<comment>Description:</comment>
  Метод next()
  
  Нет действия. Ничего не делает.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EmptyIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Метод rewind()
  
  Нет действия. Ничего не делает.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EmptyIterator::valid
type: function
doc:
<comment>Description:</comment>
  Метод valid()
  
  Метод valid() класса EmptyIterator.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>false</info>  <info>false</info>


id: EnchantBroker
type: class
doc:
<comment>Description:</comment>
  Полностью непрозрачный класс, заменяющий ресурсы <return>enchant_broker</return> в PHP 8.0.0.


id: EnchantDictionary
type: class
doc:
<comment>Description:</comment>
  Полностью непрозрачный класс, заменяющий ресурсы <return>enchant_dict</return> в PHP 8.0.0.


id: Error
type: class
doc:
<comment>Description:</comment>
  Базовый класс для ошибок <info>Error</info>, возникающих при генерации или использовании случайной
  последовательности.


id: Error::__clone
type: function
doc:
<comment>Description:</comment>
  Клонирует ошибку
  
  Объект класса Error нельзя клонировать, так что эта функция вызовет фатальную ошибку.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Error::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект класса Error
  
  Создаёт объект класса Error.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Сообщение об ошибке.
  <info>int</info>             <strong>$code</strong>      Код ошибки.
  <info>Throwable|null</info>  <strong>$previous</strong>  Предыдущий объект, реализующий интерфейс throwable, используется для
                             создания цепочки исключений.


id: Error::__toString
type: function
doc:
<comment>Description:</comment>
  Строковое представление ошибки
  
  Возвращает строковое (<info>string</info>) представление ошибки.

<comment>Return:</comment>
  <info>string</info>  Возвращает строковое (<info>string</info>) представление ошибки.

<comment>See Also:</comment>
   * Throwable::__toString


id: Error::getCode
type: function
doc:
<comment>Description:</comment>
  Возвращает код ошибки
  
  Возвращает код ошибки.

<comment>Return:</comment>
  <info>int</info>  Возвращает код ошибки типа <info>int</info>

<comment>See Also:</comment>
   * Throwable::getCode


id: Error::getFile
type: function
doc:
<comment>Description:</comment>
  Получает файл, в котором произошла ошибка
  
  Получить имя файла, в котором произошла ошибка.

<comment>Return:</comment>
  <info>string</info>  Возвращает имя файла, в котором произошла ошибка.

<comment>See Also:</comment>
   * Throwable::getFile


id: Error::getLine
type: function
doc:
<comment>Description:</comment>
  Получает номер строки, в которой произошла ошибка
  
  Получить номер строки, в которой произошла ошибка.

<comment>Return:</comment>
  <info>int</info>  Возвращает номер строки, в которой произошла ошибка.

<comment>See Also:</comment>
   * Throwable::getLine


id: Error::getMessage
type: function
doc:
<comment>Description:</comment>
  Получает сообщение об ошибке
  
  Возвращает сообщение об ошибке.

<comment>Return:</comment>
  <info>string</info>  Возвращает сообщение об ошибке в виде строки.

<comment>See Also:</comment>
   * Throwable::getMessage


id: Error::getPrevious
type: function
doc:
<comment>Description:</comment>
  Возвращает предыдущий Throwable
  
  Возвращает предыдущий объект Throwable (третий параметр конструктора Error::__construct).

<comment>Return:</comment>
  <info>Throwable|null</info>  Возвращает предыдущий объект <class>Throwable</class>, если он есть, и <info>null</info>, если его нет.

<comment>See Also:</comment>
   * Throwable::getPrevious


id: Error::getTrace
type: function
doc:
<comment>Description:</comment>
  Получает трассировку стека
  
  Возвращает трассировку стека.

<comment>Return:</comment>
  <info>array</info>  Возвращает трассировку стека в виде массива (<info>array</info>).

<comment>See Also:</comment>
   * Throwable::getTrace


id: Error::getTraceAsString
type: function
doc:
<comment>Description:</comment>
  Получает трассировку стека в виде строки
  
  Возвращает трассировку стека в виде строки.

<comment>Return:</comment>
  <info>string</info>  Возвращает трассировку стека в виде строки.

<comment>See Also:</comment>
   * Throwable::getTraceAsString


id: ErrorException::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт исключение
  
  Создаёт исключение.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Текст исключения.
  <info>int</info>             <strong>$code</strong>      Код исключения.
  <info>int</info>             <strong>$severity</strong>  Уровень серьёзности исключения.
                             
                             В то время, как уровень серьёзности может быть любым целым числом
                             (<info>int</info>), предполагается, что для её указания будут использованы константы
                             ошибок.
  <info>string|null</info>     <strong>$filename</strong>  Имя файла, где вызвано исключение.
  <info>int|null</info>        <strong>$line</strong>      Номер строки, где вызвано исключение.
  <info>Throwable|null</info>  <strong>$previous</strong>  Предыдущее исключение. Используется для создания цепочки исключений.


id: ErrorException::getSeverity
type: function
doc:
<comment>Description:</comment>
  Получает серьёзность исключения
  
  Возвращает серьёзность исключения.

<comment>Return:</comment>
  <info>int</info>  Возвращает уровень серьёзности исключения.


id: Ev
type: class
doc:
<comment>Description:</comment>
  Класс EV является статическим классом, обеспечивая доступ к циклу по умолчанию и некоторым
  распространённым операциям.


id: Ev::BACKEND_ALL
type: constant
doc:
<comment>Description:</comment>
  Пробовать все бэкенды (кроме испорченных). Не рекомендуется использовать напрямую. Тут необходимо
  использовать побитовые операции (т.е. <info>Ev::BACKEND_ALL</info> & ~ <info>Ev::BACKEND_KQUEUE</info> ). Использовать
  Ev::recommendedBackends , или не задавать никакого бэкенда вообще.


id: Ev::BACKEND_EPOLL
type: constant
doc:
<comment>Description:</comment>
  Специфичный для Linux бэкенд <return>epoll(7)</return> для ядер до и после 2.6.9


id: Ev::BACKEND_KQUEUE
type: constant
doc:
<comment>Description:</comment>
  <return>kqueue</return> - бэкенде используемый в большинстве систем BSD. Наблюдатель <class>EvEmbed</class> может быть использован
  для вставки одного цикла (с бэкендом kqueue) в другой. Например, можно попытаться создать цикл
  событий с бэкендом <return>kqueue</return> и использовать его только для сокетов.


id: Ev::BACKEND_MASK
type: constant
doc:
<comment>Description:</comment>
  Не бэкенд, но маска для выбора всех бит бэкендов из значения <strong>$flags</strong>, для исключения каких-либо
  бэкендов. (т.е. когда модифицируете переменную окружения LIBEV_FLAGS).


id: Ev::CHECK
type: constant
doc:
<comment>Description:</comment>
  Все наблюдатели <class>EvCheck</class> помещены в очередь сразу после того, как Ev::run собрал новые события, но
  до того, как они вызовут какую-либо callback-функцию для полученных событий. Таким образом,
  наблюдатели <class>EvCheck</class> будут вызваны раньше, чем любые другие наблюдатели с таким же либо более
  низким приоритетом в этой итерации цикла событий.


id: Ev::CHILD
type: constant
doc:
<comment>Description:</comment>
  <strong>$pid</strong> Указанный в EvChild::__construct получен и статус изменён.


id: Ev::CUSTOM
type: constant
doc:
<comment>Description:</comment>
  Никогда не посылается (или иным образом используется) библиотекой <return>libev</return> самостоятельно, но может
  свободно использоваться пользователями <return>libev</return> для сигнализирующих наблюдателей (т.е. с помощью
  EvWatcher::feed ).


id: Ev::EMBED
type: constant
doc:
<comment>Description:</comment>
  Встроенный цикл событий, заданный в наблюдателе <class>EvEmbed</class> требует к себе внимания.


id: Ev::ERROR
type: constant
doc:
<comment>Description:</comment>
  Произошла неизвестная ошибка и наблюдатель будет остановлен. Может произойти из-за некорректного
  запуска наблюдателя, потому, что <return>libev</return> исчерпал лимит по памяти, из-за закрытого дескриптора файла
  или по какой-либо ещё причине. <return>Libev</return> считает, что эти ошибки приложения. Также читайте раздел
  АНАТОМИЯ НАБЛЮДАТЕЛЕЙ


id: Ev::FLAG_FORKCHECK
type: constant
doc:
<comment>Description:</comment>
  Заставляет libev проверять ветвление в каждой итерации, вместо вызова EvLoop::fork вручную. Это
  работает путём вызова <return>getpid()</return> на каждой итерации цикла, и, таким образом, это может замедлить
  работу цикла событий с большим количеством итераций цикла, но обычно не сильно. Этот флаг не может
  быть переопределён или указан в переменной среды LIBEV_FLAGS.


id: Ev::FLAG_NOENV
type: constant
doc:
<comment>Description:</comment>
  Если флаг используется (или программа запускает setuid или setgid), то <return>libev</return> не смотрит на
  переменную окружения LIBEV_FLAGS. В противном случае (по умолчанию), если найден LIBEV_FLAGS, то
  он полностью переопределяет флаги. Полезно для тестов производительности и поиска ошибок.


id: Ev::FLAG_NOINOTIFY
type: constant
doc:
<comment>Description:</comment>
  Если этот флаг указан, то <return>libev</return> не будет пытаться использовать API <return>inotify</return> для своих наблюдателей
  ev_stat Флаг может быть полезным для сохранения файловых дескрипторов inotify, в противном случае
  каждый цикл, использующий наблюдателей <return>ev_stat</return>, будет потреблять один дескриптор <return>inotify</return>.


id: Ev::FLAG_NOSIGMASK
type: constant
doc:
<comment>Description:</comment>
  Если указан флаг, то <return>libev</return> будет избегать изменения маски сигнала. В частности, это применяется,
  чтобы перед получением сигнала убедиться, что он разблокирован.
  
  Такое поведение полезно для обработки пользовательских сигналов или обработки сигналов только
  определённых потоков.


id: Ev::FLAG_SIGNALFD
type: constant
doc:
<comment>Description:</comment>
  Если флаг указан, то <return>libev</return> будет пытаться использовать API <return>signalfd</return> для своих наблюдателей
  ev_signal (и ev_child). API передаёт сигналы синхронно, что делает его быстрее и, возможно,
  позволит получить данные из очереди сигналов, а также позволяет упростить обработку сигналов с
  помощью потоков, поскольку сигналы корректно блокируются в потоках. <return>Signalfd</return> не используется по
  умолчанию.


id: Ev::IDLE
type: constant
doc:
<comment>Description:</comment>
  Наблюдатель <class>EvIdle</class> работает, когда остальные наблюдатели ничего не делают.


id: Ev::PERIODIC
type: constant
doc:
<comment>Description:</comment>
  <class>EvPeriodic</class> наблюдает за превышением лимита времени.


id: Ev::PREPARE
type: constant
doc:
<comment>Description:</comment>
  Все наблюдатели <class>EvPrepare</class> вызваны ровно перед стартом Ev::run таким образом, наблюдатели <class>EvPrepare</class>
  являются последними вызванными наблюдателями перед тем, как цикл событий заснёт или опросит новые
  события.


id: Ev::READ
type: constant
doc:
<comment>Description:</comment>
  Дескриптор файла в наблюдателе <class>EvIo</class> доступен для чтения.


id: Ev::RUN_NOWAIT
type: constant
doc:
<comment>Description:</comment>
  Означает, что цикл событий будет искать и обрабатывать новые события, а также любые ожидающие
  выполнения события из них, но не будет ждать и блокировать процесс в случае, если не было никаких
  событий и завершится после одной итерации цикла. Это иногда полезно для опроса и обработки новых
  событий во время выполнения длительных вычислений, сохраняя при этом возможность взаимодействия с
  программой.


id: Ev::RUN_ONCE
type: constant
doc:
<comment>Description:</comment>
  Означает, что цикл событий будет искать новые события (ожидая, в случае необходимости) и
  обрабатывать эти и любые уже ожидающие события из них. Он будет блокировать процесс, пока не
  поступит по крайней мере одно новое событие (это может быть внутреннее событие libev, поэтому нет
  никакой гарантии, что будет вызвана заданная callback-функция) и завершится после одной итерации
  цикла.


id: Ev::STAT
type: constant
doc:
<comment>Description:</comment>
  Путь, указанный в наблюдателе <class>EvStat</class> поменял свои атрибуты.


id: Ev::WRITE
type: constant
doc:
<comment>Description:</comment>
  Дескриптор файла в наблюдателе <class>EvIo</class> доступен для записи.


id: Ev::backend
type: function
doc:
<comment>Description:</comment>
  Возвращает целое число, описывающее бэкенд, используемый libev
  
  Возвращает целое число, описывающее бэкенд, используемый libev. Смотрите Флаги бэкенда

<comment>Return:</comment>
  <info>int</info>  Возвращает целое число(битовая маска), описывающее бэкенд, используемый libev.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::embeddableBackends
   * Ev::recommendedBackends
   * Ev::supportedBackends
   * Флаги бэкенда


id: Ev::depth
type: function
doc:
<comment>Description:</comment>
  Получить глубину рекурсии
  
  Количество запусков Ev::run минус количество нормальных выходов Ev::run, другими словами, глубина
  рекурсии. Вне Ev::run это число будет равно <info>0</info>. В callback-функции оно будет равно <info>1</info>, если Ev::run
  не вызывалась рекурсивно (либо в другом потоке), в противном случае оно будет больше.

<comment>Return:</comment>
  <info>int</info>  <strong>ev_depth()</strong> возвращает глубину рекурсии цикла по умолчанию.

<comment>See Also:</comment>
   * Ev::iteration


id: Ev::embeddableBackends
type: function
doc:
<comment>Description:</comment>
  Возвращает набор бэкендов, которые можно встроить в прочие событийные циклы
  
  Возвращает набор бэкендов, которые можно встроить в прочие событийные циклы.

<comment>Return:</comment>
  <info>int</info>  Возвращает битовую маску, содержащую флаги бэкенда, объединённые с помощью побитового ИЛИ.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::recommendedBackends
   * Ev::supportedBackends
   * Флаги бэкенда
   * Примеры


id: Ev::feedSignal
type: function
doc:
<comment>Description:</comment>
  Передаём событие сигнала в Ev
  
  Симуляция приёма сигнала. Эту функцию можно безопасно вызывать в любое время, из любого контекста,
  включая обработчики сигналов или случайные потоки выполнения. Основное назначение - настройка
  обработки сигналов во время исполнения.
  
  В отличие от Ev::feedSignalEvent, этот метод работает независимо от того, какой цикл
  зарегистрировал сигнал.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Номер сигнала. Смотрите страницу man <return>signal(7)</return>. Вы можете использовать константы,
                экспортированные из модуля <return>pcntl</return>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::feedSignalEvent


id: Ev::feedSignalEvent
type: function
doc:
<comment>Description:</comment>
  Послать событие сигнала в цикл по умолчанию
  
  Послать событие сигнала в цикл по умолчанию. Ev среагирует также, как будто был получен указанный
  сигнал <strong>$signal</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Номер сигнала. Смотрите страницу man <return>signal(7)</return>. Вы можете использовать константы,
                экспортированные из модуля <return>pcntl</return>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::feedSignal


id: Ev::iteration
type: function
doc:
<comment>Description:</comment>
  Получить количество произведённых опросов цикла по умолчанию на предмет новых событий
  
  Возвращает количество произведённых опросов цикла по умолчанию на предмет новых событий. Иногда
  полезно в качестве счётчика генераций.

<comment>Return:</comment>
  <info>int</info>  Получить количество произведённых опросов цикла по умолчанию.

<comment>See Also:</comment>
   * Ev::depth


id: Ev::now
type: function
doc:
<comment>Description:</comment>
  Получить время запуска последней итерации цикла по умолчанию
  
  Возвращает время запуска последней итерации цикла по умолчанию. Это время, на котором базируются
  таймеры ( <class>EvTimer</class> и <class>EvPeriodic</class>) и, обычно, обращение к этой функции происходит быстрее, чем вызов
  Ev::time.

<comment>Return:</comment>
  <info>float</info>  Возвращает количество секунд(фракций), представляющее время, когда была запущена последняя
         итерация цикла по умолчанию.

<comment>See Also:</comment>
   * Ev::nowUpdate


id: Ev::nowUpdate
type: function
doc:
<comment>Description:</comment>
  Устанавливает текущее время путём запроса к ядру в процессе обновляя
     время, возвращаемое Ev::now
  
  Устанавливает текущее время путём запроса к ядру в процессе обновляя время, возвращаемое Ev::now.
  Это дорогая операция и обычно выполняется автоматически внутри Ev::run.
  
  Этот метод редко когда полезен, но когда некоторые callback-функции работают очень долго без
  обращения к циклу по умолчанию, обновление текущего времени в libev является неплохой идеей.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::now


id: Ev::recommendedBackends
type: function
doc:
<comment>Description:</comment>
  Получить битовую маску рекомендованных бэкендов для данной платформы
  
  Возвращает набор всех бэкендов, встроенных в используемую <return>libev</return> и, также, рекомендованных для
  данной платформы, в том смысле, что они будут работать с большинством типов дескрипторов файлов.
  Обычно этот список меньше, чем возвращаемый <strong>ev_supported_backends()</strong>. К примеру, <return>kqueue</return> не работает
  на большинстве систем <return>BSD</return> и не будет автоопределён, если только вы принудительно его не запросите.
  Это набор бэкендов которые будет опрашивать <return>libev</return>, если бэкенд не задан в явном виде.

<comment>Return:</comment>
  <info>int</info>  Возвращает битовую маску, содержащую флаги бэкенда, объединённые с помощью побитового ИЛИ.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::embeddableBackends
   * Ev::supportedBackends
   * Флаги бэкенда
   * Примеры


id: Ev::resume
type: function
doc:
<comment>Description:</comment>
  Возобновить выполнение приостановленного ранее событийного цикла по умолчанию
  
  Методы Ev::suspend и Ev::resume, соответственно приостанавливают и возобновляют работу событийного
  цикла.
  
  Все наблюдатели таймеры будут задержаны на время прошедшее между suspend и resume, и все
  наблюдатели типа periodic будут перепланированы watchers will be rescheduled(то есть будут
  потеряны все события, которые произошли во время приостановки).
  
  После вызова Ev::suspend запрещено вызывать любые функции цикла кроме Ev::resume. Также
  запрещается вызывать Ev::resume если ранее не вызывался Ev::suspend.
  
  Вызов suspend / resume имеют побочные эффекты для обновления времени событийного цикла (смотри
  Ev::nowUpdate).

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::suspend


id: Ev::run
type: function
doc:
<comment>Description:</comment>
  Начать проверку наличия событий и вызов callback-функций цикла по умолчанию
  
  Начать проверку наличия событий и вызов callback-функций цикла по умолчанию. Возвращает
  управление, когда callback-функция вызвала метод Ev::stop или если флаги не равны нулю (в этом
  случае возвращаемое значение будет <info>true</info>) или если отсутствуют активные наблюдатели ссылающиеся на
  цикл (EvWatcher::keepalive равен <info>true</info>), в этом случае будет возвращено <info>false</info>. Возвращаемое
  значение можно интерпретировать таким образом - если <info>true</info>, то есть ещё над чем поработать.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Опциональный параметр <strong>$flags</strong> может принимать следующие значения:  Список возможных
               значений <strong>$flags</strong> <strong>$flags</strong>Описание<info>0</info>Поведение по умолчанию, описанное
               выше<info>Ev::RUN_ONCE</info>Блокировать не более одного (ждать, но не
               зацикливаться)<info>Ev::RUN_NOWAIT</info>Не блокировать (забирать/обрабатывать события, но не
               ждать)
               
               Смотри Константы флагов запуска.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::stop
   * EvLoop::run


id: Ev::sleep
type: function
doc:
<comment>Description:</comment>
  Блокировать процесс заданное количество секунд
  
  Блокировать процесс заданное количество секунд

<comment>Param:</comment>
  <info>float</info>  <strong>$seconds</strong>  Дробное количество секунд

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Ev::stop
type: function
doc:
<comment>Description:</comment>
  Остановить событийный цикл по умолчанию
  
  Остановить событийный цикл по умолчанию.

<comment>Param:</comment>
  <info>int</info>  <strong>$how</strong>  Одна из Ev::BREAK_* констант .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::run


id: Ev::supportedBackends
type: function
doc:
<comment>Description:</comment>
  Возвращает набор бэкендов, поддерживаемых текущей конфигурацией libev
  
  Возвращает набор бэкендов, поддерживаемых текущей конфигурацией libev.

<comment>Return:</comment>
  <info>int</info>  Возвращает битовую маску, содержащую флаги бэкенда, объединённые с помощью побитового ИЛИ.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::recommendedBackends
   * Ev::embeddableBackends
   * Backend flags
   * Examples


id: Ev::suspend
type: function
doc:
<comment>Description:</comment>
  Приостановить событийный цикл по умолчанию
  
  Методы Ev::suspend и Ev::resume, соответственно приостанавливают и возобновляют работу событийного
  цикла.
  
  Все наблюдатели таймеры будут задержаны на время прошедшее между suspend и resume, и все
  наблюдатели типа periodic будут перепланированы (то есть будут потеряны все события, которые
  произошли во время приостановки).
  
  После вызова Ev::suspend запрещено вызывать любые функции цикла кроме Ev::resume. Также
  запрещается вызывать Ev::resume, если ранее не вызывался Ev::suspend.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::resume


id: Ev::time
type: function
doc:
<comment>Description:</comment>
  Возвращает текущее время в секундах(дробное число) прошедшее с начала эпохи Unix
  
  Возвращает текущее время в секундах(дробное число) прошедшее с начала эпохи Unix. Но лучше, всё
  же, используйте Ev::now.

<comment>Return:</comment>
  <info>float</info>  Возвращает текущее время в секундах(дробное число) прошедшее с начала эпохи Unix.

<comment>See Also:</comment>
   * Ev::now


id: Ev::verify
type: function
doc:
<comment>Description:</comment>
  Производит внутреннюю проверку целостности(для отладки)
  
  Производит внутреннюю проверку целостности(для отладки libev) и прекращает выполнение программы,
  если обнаружены ошибки.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvCheck
type: class
doc:
<comment>Description:</comment>
  Наблюдатели <class>EvPrepare</class> и <class>EvCheck</class> обычно используются в паре. Наблюдатель <class>EvPrepare</class> вызывается до
  блокировки процесса, затем вызывается <class>EvCheck</class>
  
  Не разрешается вызывать EvLoop::run или аналогичные методы или функции, введённые в текущий цикл
  событий другими наблюдателями <class>EvPrepare</class> или <class>EvCheck</class>. Однако другие циклы событий, не текущий,
  могут. Смысл в том, что текущему не нужно проверять рекурсию в таких наблюдателях, т.е. всегда
  будет последовательность: <class>EvPrepare</class> -&gt; блокировка -&gt; <class>EvCheck</class>, так что наблюдателя каждого
  вида всегда будут вызывать в парах, захватывая блокирующий вызов.
  
  Основная цель заключается в интеграции других событийных механизмов в libev и улучшенное их
  использование. Они могут быть использованы, например, при отслеживании изменении переменных, при
  реализации пользовательских наблюдателей, при интегрировании NET-SNMP или сопрограмм библиотеки и
  многое другое. Они также иногда полезны при кешировании данных и при очистке данных до блокировки.
  
  Рекомендуется устанавливать наблюдателям <class>EvCheck</class> наивысший приоритет (<info>Ev::MAXPRI</info>), чтобы
  обеспечить возможность их запуска раньше любых других наблюдателей после опроса (это не имеет
  значения для наблюдателей <class>EvPrepare</class>).
  
  Кроме того, наблюдатели <class>EvCheck</class> не смогут активировать/подавать события. Пока libev полностью
  поддерживает все это, они могут выполняться раньше, чем другие наблюдатели <class>EvCheck</class> выполнят свою
  работу.


id: EvCheck::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EvCheck
  
  Создаёт наблюдатель <class>EvCheck</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателя .
  <info>mixed</info>     <strong>$data</strong>      Данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  приоритет наблюдателя

<comment>See Also:</comment>
   * <class>EvPrepare</class>
   * EvLoop::check


id: EvCheck::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный экземпляр наблюдателя EvCheck
  
  Создаёт остановленный экземпляр наблюдателя EvCheck.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателя .
  <info>string</info>  <strong>$data</strong>      Данные, ассоциированные с наблюдателем.
  <info>string</info>  <strong>$priority</strong>  приоритет наблюдателя

<comment>Return:</comment>
  <info>object</info>  В случае успешного выполнения возвращает объект EvCheck.

<comment>See Also:</comment>
   * <class>EvPrepare</class>


id: EvChild
type: class
doc:
<comment>Description:</comment>
  Наблюдатель <class>EvChild</class> вызывается тогда, когда процесс получает сигнал <info>SIGCHLD</info> в ответ на некоторые
  изменения статуса дочернего элемента (обычно когда дочерний процесс завершает свою работу или
  выходит из него). Разрешается устанавливать наблюдатель <info>EvChild</info> после того, как дочерний поток был
  ответвлён (что подразумевает, что он должен был уже завершиться), пока не началась итерация цикла
  событий (или продолжается из наблюдателя), т.е. ветвление и затем немедленная регистрация
  наблюдателя для дочернего элемента является хорошей практикой, а ветвление и регистрация
  наблюдателя после нескольких итераций цикла событий или при следующем запуске callback-функции -
  нет.
  
  Наблюдателей <class>EvChild</class> разрешается регистрировать только в цикле по умолчанию.


id: EvChild::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдатель EvChild
  
  Создаёт объект наблюдатель <class>EvChild</class>.
  
  Вызывает callback-функцию, когда пришло событие изменения статуса процесса с идентификатором <strong>$pid</strong>
  (или любым PID, если <strong>$pid</strong> задан как <info>0</info> ). Статус процесса изменяется, когда процесс завершается,
  либо когда его убивают, либо, если <strong>$trace</strong> равно <info>true</info>, когда он остановлен или возобновлён. Другими
  словами, когда процесс получает сигнал <info>SIGCHLD</info> , Ev извлекает статус exit/wait для всех
  изменённых/зомби дочерних процессов и вызывает callback-функцию.
  
  Правильно устанавливать дочернего наблюдателя после того, как <class>EvChild</class> завершился, но до запуска
  следующей итерации событийного цикла. К примеру, сначала вызывается <return>fork</return>, после чего новый
  дочерний процесс может выйти, и только после этого в родителе устанавливается наблюдатель <class>EvChild</class>
  для нового PID .
  
  Вы можете получить доступ к статусам exit/tracing и <strong>$pid</strong> используя свойства объекта наблюдателя
  rstatus и rpid.
  
  Количество PID-наблюдателей для каждого PID не ограничено. Все они будут вызваны.
  
  Метод EvChild::createStopped не стартует(не активирует) созданного наблюдателя.

<comment>Param:</comment>
  <info>int</info>       <strong>$pid</strong>       Ожидает изменения статуса процесса с идентификатором PID (или любого
                       процесса, если PID задан как <info>0</info> ).
  <info>bool</info>      <strong>$trace</strong>     Если <info>false</info>, то активация наблюдателя происходит только при завершении
                       процесса. Если <info>true</info>, то активация происходит также при
                       остановке/возобновлении процесса.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателей.
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvLoop::child


id: EvChild::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный экземпляр наблюдателя EvCheck
  
  То же самое, что и EvChild::__construct , но не происходит автоматического запуска наблюдателя.

<comment>Param:</comment>
  <info>int</info>       <strong>$pid</strong>       Смотрите EvChild::__construct
  <info>bool</info>      <strong>$trace</strong>     Смотрите EvChild::__construct
  <info>callable</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>object</info>  

<comment>See Also:</comment>
   * EvChild::__construct
   * EvLoop::child


id: EvChild::set
type: function
doc:
<comment>Description:</comment>
  Конфигурирование наблюдателя

<comment>Param:</comment>
  <info>int</info>   <strong>$pid</strong>    Смотрите EvChild::__construct
  <info>bool</info>  <strong>$trace</strong>  Смотрите EvChild::__construct

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvChild::__construct


id: EvEmbed::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EvEmbed
  
  Это довольно продвинутый тип наблюдателя, который позволяет встроить один цикл событий в другой (в
  настоящее время поддерживаются только события ввода-вывода во встроенном цикле, другие типы
  наблюдателей могут обрабатываться с задержкой или неверно и не должны использоваться).
  
  Более подробно читайте в документации libev.
  
  Этот наблюдатель наиболее полезен в BSD системах без работающего <return>kqueue</return> для поддержки обработки
  большого количества сокетов. Смотрите пример ниже.

<comment>Param:</comment>
  <info>object</info>    <strong>$other</strong>     Экземпляр класса <class>EvLoop</class>. Событийный цикл для встраивания. Этот цикл должен
                       быть встраиваемым (смотрите Ev::embeddableBackends ).
  <info>callable</info>  <strong>$callback</strong>  Смотрите callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * Ev::embeddableBackends


id: EvEmbed::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный объект наблюдатель EvEmbed
  
  То же самое, что и EvEmbed::__construct , но наблюдатель не будет автоматически запущен.

<comment>Param:</comment>
  <info>object</info>    <strong>$other</strong>     То же, что и для EvEmbed::__construct
  <info>callable</info>  <strong>$callback</strong>  Смотрите callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>void</info>  В случае успешного выполнения возвращает остановленный наблюдатель EvEmbed.

<comment>See Also:</comment>
   * EvEmbed::__construct
   * Ev::embeddableBackends


id: EvEmbed::set
type: function
doc:
<comment>Description:</comment>
  Настройка наблюдателя
  
  Конфигурирует наблюдателя для использования событийного цикла <strong>$other</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$other</strong>  Смотрите EvEmbed::__construct

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvEmbed::sweep
type: function
doc:
<comment>Description:</comment>
  Делает одиночную, неблокирующую развёртку по встроенному циклу
  
  Делает одиночную, неблокирующую развёртку по встроенному циклу. Работает аналогично следующему
  коду, но является более предпочтительным в случае встроенных циклов: start(Ev::RUN_NOWAIT);
  ?>
  ]]>

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvWatcher::start


id: EvFork
type: class
doc:
<comment>Description:</comment>
  Параллельный процесс наблюдателя вызывается тогда, когда вызывается <return>fork()</return> (обычно потому, что об
  этом сообщили  libev путём вызова EvLoop::fork). Вызов делается до следующей блокировки циклом
  событий и до начала вызова наблюдателей <class>EvCheck</class> и только в дочернем процессе после ветвления.
  Обратите внимание на то, что если кто-нибудь сделает вызов EvLoop::fork в неправильном процессе,
  обработчики ветвления также будут вызваны.


id: EvFork::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор наблюдателя EvFork
  
  Создаёт объект наблюдатель EvFork и автоматически его стартует.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Смотрите callback-функции наблюдателей.
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvLoop::fork
   * <class>EvCheck</class>


id: EvFork::createStopped
type: function
doc:
<comment>Description:</comment>
  Создать объект класса EvFork, но не стартовать его
  
  То же самое, что и EvFork::__construct , но не производит автоматического старта наблюдателя.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Смотрите callback-функции наблюдателей .
  <info>string</info>  <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем
  <info>string</info>  <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>object</info>  Возвращает остановленный объект EvFork.

<comment>See Also:</comment>
   * EvFork::__construct


id: EvIdle
type: class
doc:
<comment>Description:</comment>
  Наблюдатели <class>EvIdle</class> вызывают события тогда, когда никакие другие события такого же или более
  высокого приоритета не находятся в ожидании (<class>EvPrepare</class>, <class>EvCheck</class> и другие наблюдатели <class>EvIdle</class> не
  считаются за получающие события).
  
  Таким образом этот процесс занят обработкой сокетов или ожиданий (или даже сигналов) такого же или
  более высокого приоритета до тех пор, пока он не будет активирован. Но когда процесс находится в
  режиме ожидания (или в очереди только наблюдатели с более низким приоритетом), наблюдатели <class>EvIdle</class>
  будут вызываться единожды за итерацию цикла событий - пока не будут остановлены или пока процессом
  не будут получены новые сообщения и он не будет занят более приоритетными задачами.
  
  Помимо поддержания неблокирующего процесса (который полезен в некоторых случаях), наблюдатели
  <class>EvIdle</class> являются хорошим местом для выполнения "псевдо-фоновой обработки" или задержки обработки
  данных до момента, пока цикл событий не обработает все исключительные события.
  
  Наиболее заметный эффект проявляется в том, что пока спящие наблюдатели активны, процесс не будет
  блокироваться в процессе ожидания новых событий.


id: EvIdle::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор наблюдателя EvIdle
  
  Создаёт объект наблюдатель EvIdle и автоматически его стартует.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Смотрите функции обратного вызова наблюдателей.
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvIdle::createStopped
   * EvLoop::idle


id: EvIdle::createStopped
type: function
doc:
<comment>Description:</comment>
  Создать объект класса EvIdle, но не стартовать его
  
  То же самое, что и EvIdle::__construct , но не производит автоматического старта наблюдателя.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Смотрите функции обратного вызова наблюдателей .
  <info>mixed</info>   <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем
  <info>int</info>     <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>object</info>  Возвращает остановленный объект EvIdle.

<comment>See Also:</comment>
   * EvIdle::__construct
   * EvLoop::idle


id: EvIo
type: class
doc:
<comment>Description:</comment>
  Наблюдатели <class>EvIo</class> проверяют, является ли файл, сокет или поток, преобразуемый в числовой дескриптор
  файла, доступным на чтение или на запись при каждой итерации событийного цикла, или, если более
  точно, когда чтение не заблокирует процесс, а запись сможет быть произведена. Такое поведение
  называется переключение уровня (level-triggering), потому, что события будут создаваться все
  время, пока сохраняется отслеживаемое состояние. Для прекращения создания событий надо просто
  остановить наблюдателя.
  
  Количество таких наблюдателей для одного файлового дескриптора <strong>$fd</strong> не ограничено. Желательно, но
  не обязательно, установить для файлового дескриптора неблокирующий режим.
  
  Другой момент, который необходимо держать в уме, это то, что всегда существует возможность ложного
  срабатывания. Например <info>Ev::READ</info> вызовет callback-функцию, но в то же время файл заблокируется
  подзапросом read(). В такую ситуацию очень легко попасть и именно поэтому рекомендуется всегда
  использовать неблокирующий ввод/вывод. Возврат read() дополнительного <info>EAGAIN</info> гораздо
  предпочтительнее, чем "зависание" программы в ожидании данных.
  
  Если по каким то причинам невозможно использовать <strong>$fd</strong> в неблокирующем режиме, то имеет смысл
  дополнительно проверять, доступен ли файл на чтение в данный конкретный момент. Кто-то
  дополнительно использует <info>SIGALRM</info> и внутренний таймер для проверки, что блокировка не вечная.
  
  Старайтесь всегда использовать неблокирующий режим.


id: EvIo::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдатель EvIo
  
  Создаёт и автоматически стартует объект наблюдатель EvIo.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Может быть потоком, открытым с помощью функции <strong>fopen()</strong> или аналогичной,
                       числовым дескриптором файла или сокетом.
  <info>int</info>       <strong>$events</strong>    <info>Ev::READ</info> и/или <info>Ev::WRITE</info>. Смотрите битовые маски.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvIo::createStopped
   * EvLoop::io


id: EvIo::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный объект наблюдателя EvIo
  
  То же самое, что и EvIo::__construct , но не происходит автоматического запуска наблюдателя.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Смотрите EvIo::__construct
  <info>int</info>       <strong>$events</strong>    Смотрите EvIo::__construct
  <info>callable</info>  <strong>$callback</strong>  Смотрите Callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>EvIo</info>  В случае успешного выполнения возвращает объект EvIo.

<comment>See Also:</comment>
   * EvIo::__construct
   * EvLoop::io


id: EvIo::set
type: function
doc:
<comment>Description:</comment>
  Конфигурирование наблюдателя
  
  Конфигурирование наблюдателя EvIo

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>      Смотрите EvIo::__construct
  <info>int</info>    <strong>$events</strong>  Смотрите EvIo::__construct

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvLoop
type: class
doc:
<comment>Description:</comment>
  Представляет событийный цикл, который всегда отличается от цикла по умолчанию. В отличие от цикла
  по умолчанию, он не может работать с наблюдателями <class>EvChild</class>.
  
  Если доступна работа с потоками исполнения, то необходимо создать цикл для каждого потока
  используя в качестве родителя цикл по умолчанию.
  
  Событийный цикл по умолчанию инициализируется автоматически с помощью Ev. Он доступен с помощью
  методов класса <class>Ev</class> или с помощью метода EvLoop::defaultLoop.


id: EvLoop::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта цикла событий
  
  Конструктор объекта цикла событий.

<comment>Param:</comment>
  <info>int</info>    <strong>$flags</strong>             Один из флагов цикла событий
  <info>mixed</info>  <strong>$data</strong>              Пользовательские данные, связанные с циклом.
  <info>float</info>  <strong>$io_interval</strong>       Смотрите io_interval
  <info>float</info>  <strong>$timeout_interval</strong>  Смотрите timeout_interval

<comment>See Also:</comment>
   * EvLoop::defaultLoop


id: EvLoop::backend
type: function
doc:
<comment>Description:</comment>
  Возвращает целое число, описывающее бэкенд, используемый libev
  
  То же, что Ev::backend, но для экземпляра цикла.

<comment>Return:</comment>
  <info>int</info>  Возвращает целое число, описывающее бэкенд, используемый libev. Смотрите Ev::backend.

<comment>See Also:</comment>
   * Ev::backend


id: EvLoop::check
type: function
doc:
<comment>Description:</comment>
  Создаёт объект EvCheck, связанный с текущим экземпляром цикла событий
  
  Создаёт объект EvCheck, связанный с текущим экземпляром цикла событий.

<comment>Return:</comment>
  <info>EvCheck</info>  Возвращает объект EvCheck в случае успешного выполнения.

<comment>See Also:</comment>
   * EvCheck::__construct


id: EvLoop::child
type: function
doc:
<comment>Description:</comment>
  Создаёт объект EvChild, связанный с текущим циклом событий
  
  Создаёт объект EvChild, связанный с текущим циклом событий.

<comment>Return:</comment>
  <info>EvChild</info>  Возвращает объект EvChild в случае успешного выполнения.

<comment>See Also:</comment>
   * EvChild::__construct


id: EvLoop::defaultLoop
type: function
doc:
<comment>Description:</comment>
  Возвращает или создаёт цикл событий по умолчанию
  
  Если цикл событий по умолчанию не создан, EvLoop::defaultLoop создаёт его с указанными
  параметрами. В противном случае он просто возвращает объект, представляющий ранее созданный
  экземпляр, игнорируя все параметры.

<comment>Param:</comment>
  <info>int</info>    <strong>$flags</strong>                     Один из флагов цикла событий
  <info>mixed</info>  <strong>$data</strong>                      Пользовательские данные, связанные с циклом.
  <info></info>       <strong>$io_collect_interval</strong>       Смотрите io_interval
  <info></info>       <strong>$timeout_collect_interval</strong>  Смотрите timeout_interval

<comment>Return:</comment>
  <info>EvLoop</info>  Возвращает объект EvLoop в случае успешного выполнения.

<comment>See Also:</comment>
   * EvLoop::__construct


id: EvLoop::embed
type: function
doc:
<comment>Description:</comment>
  Создаёт экземпляр наблюдателя EvEmbed, связанный с текущим объектом EvLoop
  
  Создаёт экземпляр наблюдателя <class>EvEmbed</class>, связанный с текущим объектом <class>EvLoop</class>.

<comment>Return:</comment>
  <info>EvEmbed</info>  Возвращает объект EvEmbed в случае успешного выполнения.

<comment>See Also:</comment>
   * EvEmbed::__construct


id: EvLoop::fork
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvFork, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvFork, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvFork</info>  Возвращает объект EvFork в случае успешного выполнения.

<comment>See Also:</comment>
   * EvFork::__construct


id: EvLoop::idle
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvIdle, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvIdle, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvIdle</info>  Возвращает объект EvIdle в случае успешного выполнения.

<comment>See Also:</comment>
   * EvIdle::__construct


id: EvLoop::invokePending
type: function
doc:
<comment>Description:</comment>
  Вызывает всех ожидающих наблюдателей при сбросе их отложенного состояния
  
  Вызывает всех ожидающих наблюдателей при сбросе их отложенного состояния

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvLoop::io
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvIo, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvIo, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvIo</info>  Возвращает объект EvIo в случае успешного выполнения.

<comment>See Also:</comment>
   * EvIo::__construct


id: EvLoop::loopFork
type: function
doc:
<comment>Description:</comment>
  Вызывается после разветления
  
  Должен вызываться после разветвления в дочернем элементе, перед входом или продолжением цикла
  событий. Альтернативой является использование <info>Ev::FLAG_FORKCHECK</info>, которая вызывает эту функцию
  автоматически при некоторой потере производительности (смотрите документацию libev).

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvLoop::now
type: function
doc:
<comment>Description:</comment>
  Возвращает текущее "event loop time"
  
  Возвращает текущее "event loop time", то есть время, когда цикл событий получил события и начал их
  обрабатывать. Эта временная метка не изменяется, пока обрабатываются callback-функции, это также
  базовое время, используемое для относительных таймеров. Вы можете рассматривать его как метку
  времени происходящего события (или, вернее, когда libev узнает об этом).

<comment>Return:</comment>
  <info>float</info>  Возвращает время цикла события в долях секунды.

<comment>See Also:</comment>
   * Ev::now


id: EvLoop::nowUpdate
type: function
doc:
<comment>Description:</comment>
  Устанавливает текущее время, запрашивая ядро, обновляя время, возвращаемое EvLoop::now в процессе
  
  Устанавливает текущее время, запрашивая ядро, обновляя время, возвращаемое EvLoop::now в процессе.
  Это дорогостоящая операция, которая обычно выполняется автоматически в EvLoop::run.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvLoop::now
   * Ev::nowUpdate


id: EvLoop::periodic
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvPeriodic, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvPeriodic, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvPeriodic</info>  Возвращает объект EvPeriodic в случае успешного выполнения.

<comment>See Also:</comment>
   * EvPeriodic::__construct


id: EvLoop::prepare
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvPrepare, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvPrepare, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvPrepare</info>  Возвращает объект EvPrepare в случае успешного выполнения

<comment>See Also:</comment>
   * EvPrepare::__construct


id: EvLoop::resume
type: function
doc:
<comment>Description:</comment>
  Возобновляет ранее приостановленный цикл событий
  
  Методы EvLoop::suspend и EvLoop::resume приостанавливают и возобновляют цикл соответственно.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvLoop::suspend
   * Ev::resume


id: EvLoop::run
type: function
doc:
<comment>Description:</comment>
  Проверяет события и вызывает callback-функции в цикле
  
  Проверяет события и вызывает callback-функции для текущего цикла событий. Возвращает, когда
  обратный вызов вызывает метод Ev::stop, или если флаги ненулевые (в этом случае возвращаемое
  значение будет true) или когда нет активных наблюдателей, которые ссылаются на цикл
  (EvWatcher::keepalive имеет значение <info>true</info>), в этом случае возвращаемое значение будет <info>false</info>.
  Возвращаемое значение, как правило, можно интерпретировать так, как если бы оно было <info>true</info> и
  осталось сделать ещё много работы.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Необязательный параметр <strong>$flags</strong> может быть следующим:  Список возможных значений
               <strong>$flags</strong> <strong>$flags</strong>Описание<info>0</info>Поведение по умолчанию, описанное выше<info>Ev::RUN_ONCE</info>Блокирует не
               более одного (ждёт, но не зацикливает)<info>Ev::RUN_NOWAIT</info>Не блокирует ничего
               (извлекает/обрабатывает события, но не ждёт)
               
               Смотрите константы флага запуска .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvLoop::stop
   * Ev::run


id: EvLoop::signal
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvSignal, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvSignal, связанный с текущим экземпляром цикла событий

<comment>Return:</comment>
  <info>EvSignal</info>  Возвращает объект EvSignal в случае успешного выполнения

<comment>See Also:</comment>
   * EvSignal::__construct


id: EvLoop::stat
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvStat, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvStat, связанный с текущим экземпляром цикла событий.

<comment>Return:</comment>
  <info>EvStat</info>  Возвращает объект EvStat в случае успешного выполнения

<comment>See Also:</comment>
   * EvSignal::__construct


id: EvLoop::stop
type: function
doc:
<comment>Description:</comment>
  Останавливает цикл событий
  
  Останавливает цикл событий

<comment>Param:</comment>
  <info>int</info>  <strong>$how</strong>  Одна из Ev::BREAK_* констант .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvLoop::run
   * Ev::stop


id: EvLoop::suspend
type: function
doc:
<comment>Description:</comment>
  Приостанавливает цикл
  
  Методы EvLoop::suspend и EvLoop::resume приостанавливают и возобновляют цикл соответственно.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvLoop::resume
   * Ev::suspend


id: EvLoop::timer
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvTimer, связанный с текущим экземпляром цикла событий
  
  Создаёт объект наблюдателя EvTimer, связанный с текущим экземпляром цикла событий.

<comment>Return:</comment>
  <info>EvTimer</info>  Возвращает объект EvTimer в случае успешного выполнения.

<comment>See Also:</comment>
   * EvTimer::__construct


id: EvLoop::verify
type: function
doc:
<comment>Description:</comment>
  Выполняет внутренние проверки согласованности (для отладки)
  
  Выполняет внутренние проверки согласованности (для отладки libev) и прерывает программу, если
  обнаружены повреждённые структуры данных.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Ev::verify


id: EvPeriodic
type: class
doc:
<comment>Description:</comment>
  Периодические наблюдатели также, своего рода, таймеры, но гораздо более непостоянные.
  
  В отличие от <class>EvTimer</class> , наблюдатели <class>EvPeriodic</class> базируются не на реальном времени (или относительном
  времени, физически прошедшем), а на "системном" (том, которое показывается на ваших часах).
  Разница в том, что такое время может идти быстрее или медленнее "реального", или вообще скакать, в
  момент перехода на зимнее/летнее время или просто ручного изменения времени.
  
  Наблюдатель <class>EvPeriodic</class> можно сконфигурировать на срабатывание после определённого времени.
  Например, если наблюдатель <class>EvPeriodic</class> сконфигурирован сработать "в 10 секунд" (т.е. EvLoop::now +
  <info>10.0</info> секунд по "системному" времени, а не через 10 секунд!) и сразу после этого системное время
  сбросили на первое Января прошлого года, то наблюдатель сработает через год или больше, ровно в
  тот момент, когда системное время будет равно заданному. В то время как <class>EvTimer</class> просто сработает
  через <info>10</info> секунд после запуска.
  
  Также как и с таймерами, callback-функция гарантированно сработает после наступления необходимого
  времени. Если несколько таймеров будут готовы сработать в одной и той же итерации событийного
  цикла, то первыми сработают те, которые должны сработать раньше по времени. (это более не
  распространяется на ситуации, когда callback-функции рекурсивно вызывают EvLoop::run).


id: EvPeriodic::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта наблюдателя EvPeriodic
  
  Создаёт объект наблюдателя EvPeriodic и запускает его автоматически. Метод
  EvPeriodic::createStopped создаёт остановленный периодический наблюдатель.

<comment>Param:</comment>
  <info>float</info>     <strong>$offset</strong>         Смотрите Периодические режимы работы наблюдателя
  <info>string</info>    <strong>$interval</strong>       Смотрите Периодические режимы работы наблюдателя
  <info>callable</info>  <strong>$reschedule_cb</strong>  Переназначить callback-функцию. Вы можете передать <info>null</info>. Смотрите
                            Периодические режимы работы наблюдателя
  <info>callable</info>  <strong>$callback</strong>       Смотрите Наблюдатели callback-функции .
  <info>mixed</info>     <strong>$data</strong>           Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>       Приоритет наблюдателя

<comment>See Also:</comment>
   * Периодические режимы работы наблюдателя
   * <class>EvTimer</class>
   * EvPeriodic::createStopped


id: EvPeriodic::again
type: function
doc:
<comment>Description:</comment>
  Останавливает и снова запускает периодический наблюдатель
  
  Останавливает и снова запускает периодический наблюдатель. Полезно только при изменении атрибутов.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvTimer::again


id: EvPeriodic::at
type: function
doc:
<comment>Description:</comment>
  Возвращает абсолютное время, когда наблюдатель запустится в следующий раз
  
  Если наблюдатель активен, возвращает абсолютное время, когда наблюдатель запустится в следующий
  раз. Это не то же самое, что аргумент offset для EvPeriodic::set или EvPeriodic::__construct, он
  работает даже в интервальном режиме.

<comment>Return:</comment>
  <info>float</info>  Возвращает абсолютное время, когда наблюдатель запустится в следующий раз в секундах


id: EvPeriodic::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный наблюдатель EvPeriodic
  
  Создаёт остановленный наблюдатель EvPeriodic. В отличие от EvPeriodic::__construct, этот метод не
  запускает наблюдателя автоматически.

<comment>Param:</comment>
  <info>float</info>     <strong>$offset</strong>         Смотрите Периодические режимы работы наблюдателя
  <info>float</info>     <strong>$interval</strong>       Смотрите Периодические режимы работы наблюдателя
  <info>callable</info>  <strong>$reschedule_cb</strong>  Переназначить callback-функцию. Вы можете передать <info>null</info>. Смотрите
                            Периодические режимы работы наблюдателя
  <info>callable</info>  <strong>$callback</strong>       Смотрите Callback-функции наблюдателей .
  <info>mixed</info>     <strong>$data</strong>           Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>       Приоритет наблюдателей

<comment>Return:</comment>
  <info>EvPeriodic</info>  Возвращает объект наблюдателя EvPeriodic в случае успешного выполнения.

<comment>See Also:</comment>
   * EvPeriodic::__construct
   * EvTimer::createStopped


id: EvPeriodic::set
type: function
doc:
<comment>Description:</comment>
  Настраивает наблюдателя
  
  Настраивает или перенастраивает EvPeriodic наблюдателя.

<comment>Param:</comment>
  <info>float</info>  <strong>$offset</strong>    То же, что и для EvPeriodic::__construct . Смотрите Периодические режимы работы
                    наблюдателя
  <info>float</info>  <strong>$interval</strong>  То же, что и для EvPeriodic::__construct . Смотрите Периодические режимы работы
                    наблюдателя

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvPrepare::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор наблюдателя EvPrepare
  
  Создаёт объект наблюдатель EvPrepare и автоматически его стартует.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Смотрите функции обратного вызова наблюдателей .
  <info>string</info>  <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем.
  <info>string</info>  <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * <class>EvCheck</class>


id: EvPrepare::createStopped
type: function
doc:
<comment>Description:</comment>
  Создать объект класса EvPrepare, но не стартовать его
  
  То же самое, что и EvPrepare::__construct , но не производит автоматического старта наблюдателя.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Смотрите функции обратного вызова наблюдателей .
  <info>mixed</info>     <strong>$data</strong>      Произвольные данные, ассоциированные с наблюдателем
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>EvPrepare</info>  Возвращает остановленный объект EvPrepare.

<comment>See Also:</comment>
   * EvPrepare::__construct
   * EvWatcher::start


id: EvSignal
type: class
doc:
<comment>Description:</comment>
  Наблюдатель <class>EvSignal</class> создаёт событие когда процесс получает один или несколько конкретных
  сигналов. Так как сигналы приходят асинхронно, libev старается с этим бороться и доставлять их
  синхронно, т.е аналогично всем остальным событиям в нормальном режиме обработки.
  
  Ограничений на количество наблюдателей за одним и тем же сигналом нет, но только в пределах одного
  событийного цикла. Например, в цикле по умолчанию работает наблюдатель за <info>SIGINT</info>, а в другом цикле
  наблюдатель за <info>SIGIO</info>, но при этом нельзя наблюдать за <info>SIGINT</info> в двух циклах сразу. Ну и за <info>SIGCHLD</info>
  можно наблюдать только в цикле по умолчанию.
  
  Если доступно и поддерживается, libev устанавливает свои обработчики с разрешённым поведением
  <return>SA_RESTART</return> (или аналогом), поэтому системные вызовы не будут некорректно прерываться. Если будут
  возникать проблемы с прерыванием системных вызовов сигналами, все сигналы можно блокировать в
  наблюдателе <class>EvCheck</class> и разблокировать в наблюдателе <class>EvPrepare</class>.


id: EvSignal::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта наблюдателя EvSignal
  
  Создаёт объект наблюдатель EvSignal и автоматически его запускает. Для создания остановленного
  объекта наблюдателя используйте метод EvSignal::createStopped.

<comment>Param:</comment>
  <info>int</info>       <strong>$signum</strong>    Номер сигнала. Смотрите константы модуля pcntl и документацию по <return>signal(7)</return>.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Функции обратного вызова наблюдателей.
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvSignal::createStopped


id: EvSignal::createStopped
type: function
doc:
<comment>Description:</comment>
  Create stopped EvSignal watcher object
  
  Создаёт остановленный объект наблюдатель EvSignal. В отличие от EvSignal::__construct, этот метод
  не запускает созданного наблюдателя.

<comment>Param:</comment>
  <info>int</info>       <strong>$signum</strong>    Номер сигнала. Смотрите константы модуля pcntl и документацию по <return>signal(7)</return>.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Функции обратного вызова наблюдателей.
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, ассоциированные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>EvSignal</info>  В случае успешного выполнения возвращает объект EvSignal.

<comment>See Also:</comment>
   * EvWatcher::start
   * EvSignal::__construct


id: EvSignal::set
type: function
doc:
<comment>Description:</comment>
  Настройка наблюдателя
  
  Настраивает наблюдателя.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Номер сигнала. Как описано в EvSignal::__construct

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvStat
type: class
doc:
<comment>Description:</comment>
  <class>EvStat</class> наблюдает за изменением атрибутов объекта по заданному пути в файловой системе. Это
  достигается путём регулярного запуска stat() для этого пути (либо путём получения сигнала об
  изменении от операционной системы) и сравнение полученных данных с результатами предыдущего
  вызова. В случае обнаружения изменения атрибутов вызывается callback-функция.
  
  Путь не обязательно должен существовать в действительности. Изменение статуса с "путь существует"
  на "путь не существует" - это такое же изменение, как и любое другое. Состояние "путь не
  существует" определяется по значению <info>'nlink'</info> равным 0 (которое возвращается методом EvStat::attr).
  
  Путь не должен оканчиваться слешем или содержать специальные компоненты, такие как <info>'.'</info> или <info>..</info>.
  Путь должен быть абсолютным. Если задать относительный путь и сменить рабочий каталог, то
  поведение будет неопределённым.
  
  Так как нет переносимого интерфейса оповещения об изменениях, переносимая реализация просто
  вызывает stat() через равные промежутки времени и смотрит, не изменилось ли чего. Поэтому
  рекомендуется задавать интервал опроса. Если интервал опроса задан равным <info>0.0 </info> (что крайне
  рекомендуется), то будет использоваться значение по умолчанию (которого никто не знает, но
  предполагается, что где-то около 5 секунд, но при этом может динамически меняться). libev имеет
  ограничение на минимальное значение интервала, которое сейчас равно приблизительно <info>0.1</info>, но такой
  интервал - это стрельба из пушки по воробьям.
  
  Не рекомендуется использовать большое количество одновременно работающих наблюдателей <class>EvStat</class>, так
  как это может сильно повлиять на потребление ресурсов в связи с использованием механизмов
  оповещения операционной системы.


id: EvStat::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект наблюдателя EvStat
  
  Создаёт объект наблюдателя EvStat и автоматически запускает наблюдателя.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Путь для ожидания изменения статуса.
  <info>float</info>     <strong>$interval</strong>  Подсказывает, как быстро ожидается обнаружение изменений, и его обычно
                       указывается <info>0.0</info>, чтобы позволить libev выбрать подходящее значение.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Наблюдатели обратного вызова .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя


id: EvStat::attr
type: function
doc:
<comment>Description:</comment>
  Возвращает значения, недавно обнаруженные Ev
  
  Возвращает значения, недавно обнаруженные Ev

<comment>Return:</comment>
  <info>array</info>  Возвращает массив со значениями, недавно обнаруженными Ev (без фактической <return>stat</return>):  Список
         ключей элементов массива, возвращаемых EvStat::attr КлючОписание<info>'dev'</info>идентификатор
         устройства, содержащего файл<info>'ino'</info>номер индекса<info>'mode'</info>режим защиты<info>'nlink'</info>количество жёстких
         ссылок<info>'uid'</info>идентификатор пользователя владельца<info>'size'</info>общий размер, в
         байтах<info>'gid'</info>идентификатор группы владельца<info>'rdev'</info>идентификатор устройства (если это
         специальный файл)<info>'blksize'</info>размер блока для файловой системы ввода/вывода<info>'blocks'</info>количество
         выделенных блоков по 512B<info>'atime'</info>время последнего доступа<info>'ctime'</info>время последнего изменения
         статуса<info>'mtime'</info>время последнего изменения
         
         Смотрите <return>stat(2)</return> справочную страницу для подробной информации.

<comment>See Also:</comment>
   * EvStat::prev
   * EvStat::stat


id: EvStat::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный объект наблюдателя EvStat
  
  Создаёт объект наблюдателя EvStat, но не запускает его автоматически (в отличие от
  EvStat::__construct).

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Путь для ожидания изменения статуса.
  <info>float</info>     <strong>$interval</strong>  Подсказывает, как быстро ожидается обнаружение изменений, и его обычно
                       указывается <info>0.0</info>, чтобы позволить libev выбрать подходящее значение.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Наблюдатели обратного вызова .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>void</info>  Возвращает остановленный объект наблюдателя EvStat в случае успешного выполнения.

<comment>See Also:</comment>
   * EvStat::__construct
   * EvWatcher::start


id: EvStat::prev
type: function
doc:
<comment>Description:</comment>
  Возвращает предыдущий набор значений, возвращаемых EvStat::attr
  
  Как и EvStat::attr , но возвращает предыдущий набор значений.

<comment>Return:</comment>
  <info>void</info>  Возвращает массив с той же структурой, что и массив, возвращаемый EvStat::attr. Массив
        содержит предыдущий набор значений.

<comment>See Also:</comment>
   * EvStat::attr
   * EvStat::stat


id: EvStat::set
type: function
doc:
<comment>Description:</comment>
  Настраивает наблюдателя
  
  Настраивает наблюдателя.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>      Путь для ожидания изменения статуса.
  <info>float</info>   <strong>$interval</strong>  Подсказывает, как быстро ожидается обнаружение изменений, и его обычно
                     указывается <info>0.0</info>, чтобы позволить libev выбрать подходящее значение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvStat::stat
type: function
doc:
<comment>Description:</comment>
  Инициирует вызов статистики
  
  Инициирует вызов статистики (обновляет внутренний кеш). Определяет (используя <return>lstat</return>) path,
  указанный в наблюдателе, и устанавливает найденные значения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если path существует. В противном случае <info>false</info>.

<comment>See Also:</comment>
   * EvStat::attr
   * EvStat::prev


id: EvTimer
type: class
doc:
<comment>Description:</comment>
  Наблюдатели <class>EvTimer</class> - это обычные относительные таймеры, которые создают событие через заданное
  время и, опционально, периодически повторяют его через заданные интервалы времени.
  
  Таймеры базируются на реальном времени, то есть если задать таймер с повторами раз в час и
  сбросить системные часы на Январь прошлого года, то таймер будет все также срабатывать через
  (грубо) час. "Грубо" потому, что отследить скачки времени достаточно сложно и некоторые неточности
  неизбежны.
  
  Callback-функция гарантированно запустится только после того, как пройдёт превышение заданного
  времени ожидания (не ровно в тот же момент, т.к. на системах с часами с низким разрешением могут
  наблюдаться небольшие задержки). Если несколько таймеров будут готовы сработать в одну и ту же
  итерацию событийного цикла, то callback-функции наблюдателей будут запущены в порядке времени
  срабатывания и с учётом приоритета (но это не работает, если callback-функции вызывают EvLoop::run
  рекурсивно).
  
  Сами по себе таймеры стараются всеми силами избежать накапливания ошибки, то есть если таймер
  сконфигурирован срабатывать каждые <info>10</info> секунд, то обычно он срабатывает точно с <info>10</info> секундным
  интервалом. Однако, если скрипт не поспевает за таймером, поскольку его работа занимает более <info>10</info>
  секунд, то таймер сработает не чаще чем один раз за итерацию событийного цикла.


id: EvTimer::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта наблюдателя EvTimer
  
  Конструктор объекта наблюдателя EvTimer.

<comment>Param:</comment>
  <info>float</info>     <strong>$after</strong>     Настраивает таймер для запуска через <strong>$after</strong> секунд.
  <info>float</info>     <strong>$repeat</strong>    Если время повтора равно <info>0.0</info>, то он будет автоматически остановлен после
                       истечения времени ожидания. Если положительное, таймер будет автоматически
                       настроен на повторный запуск каждые повторяющиеся секунды, пока не будет
                       остановлен вручную.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Наблюдатели callback-функций .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>See Also:</comment>
   * EvTimer::createStopped
   * <class>EvPeriodic</class>
   * ev_timer - относительное и необязательно повторяющееся время ожидания
   * Будьте осторожны со временем ожидания


id: EvTimer::again
type: function
doc:
<comment>Description:</comment>
  Перезапускает таймер наблюдателя
  
  Будет действовать так, как если бы таймер отключился и перезапустился снова, если он повторяется.
  Точная семантика:
  
  если таймер находится в режиме ожидания, его статус ожидания очищается.
  
  если таймер запущен, но не повторяется, останавливает его (как если бы он истёк).
  
  если таймер повторяется, либо запускает его, при необходимости (со значением repeat), либо
  сбрасывает таймер запуска на значение repeat.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvWatcher::stop


id: EvTimer::createStopped
type: function
doc:
<comment>Description:</comment>
  Создаёт остановленный наблюдатель EvTimer
  
  Создаёт остановленный наблюдатель EvTimer. В отличие от EvTimer::__construct, этот метод не
  запускает наблюдателя автоматически.

<comment>Param:</comment>
  <info>float</info>     <strong>$after</strong>     Настраивает таймер для запуска через <strong>$after</strong> секунд.
  <info>float</info>     <strong>$repeat</strong>    Если время повтора равно <info>0.0</info>, то он будет автоматически остановлен после
                       истечения времени ожидания. Если положительное, таймер будет автоматически
                       настроен на повторный запуск каждые повторяющиеся секунды, пока не будет
                       остановлен вручную.
  <info>callable</info>  <strong>$callback</strong>  Смотрите Наблюдатели callback-функций .
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, связанные с наблюдателем.
  <info>int</info>       <strong>$priority</strong>  Приоритет наблюдателя

<comment>Return:</comment>
  <info>EvTimer</info>  Возвращает объект наблюдателя EvTimer в случае успешного выполнения.

<comment>See Also:</comment>
   * EvTimer::__construct
   * <class>EvPeriodic</class>


id: EvTimer::set
type: function
doc:
<comment>Description:</comment>
  Настраивает наблюдателя
  
  Настраивает наблюдателя

<comment>Param:</comment>
  <info>float</info>  <strong>$after</strong>   Настраивает таймер для запуска через <strong>$after</strong> секунд.
  <info>float</info>  <strong>$repeat</strong>  Если время повтора равно <info>0.0</info>, то он будет автоматически остановлен после истечения
                  времени ожидания. Если положительное, таймер будет автоматически настроен на
                  повторный запуск каждые повторяющиеся секунды, пока не будет остановлен вручную.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvWatcher
type: class
doc:
<comment>Description:</comment>
  <class>EvWatcher</class> является базовым классом для всех наблюдателей( <class>EvCheck</class>, <class>EvChild</class> и т.д.). Так как
  конструктор <class>EvWatcher</class> имеет модификатор abstract, вы не должны (и не сможете) создавать объекты
  этого класса напрямую.


id: EvWatcher::__construct
type: function
doc:
<comment>Description:</comment>
  Абстрактный конструктор объекта наблюдателя
  
  EvWatcher::__construct является абстрактным конструктором объекта наблюдателя, реализованного в
  производных классах.


id: EvWatcher::clear
type: function
doc:
<comment>Description:</comment>
  Очистить статус ожидания наблюдателя
  
  Если наблюдатель находится в состоянии pending, этот метод очищает его состояние ожидания и
  возвращает его битовый набор revents (как если бы была вызвана его callback-функция). Если
  наблюдатель не в состоянии ожидания, он ничего не делает и возвращает <info>0</info>.
  
  Иногда может быть полезно "опросить" наблюдателя, а не ждать его callback-функцию, что может быть
  выполнено с помощью этой функции.

<comment>Return:</comment>
  <info>int</info>  В случае, если наблюдатель находится в состоянии ожидания, возвращает битовый набор revents,
       как если бы была вызвана callback-функция наблюдателя. В противном случае возвращает <info>0</info>.


id: EvWatcher::feed
type: function
doc:
<comment>Description:</comment>
  Подаёт указанные события в цикл событий
  
  Подаёт указанные события в цикл событий, как если бы указанное событие произошло для наблюдателя.

<comment>Param:</comment>
  <info>int</info>  <strong>$revents</strong>  Битовая маска наблюдателя принятых событий .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvWatcher::getLoop
type: function
doc:
<comment>Description:</comment>
  Возвращает цикл, отвечающий за наблюдателя
  
  Возвращает цикл, отвечающий за наблюдателя

<comment>Return:</comment>
  <info>EvLoop</info>  Возвращает объект цикла событий <class>EvLoop</class>, отвечающий за наблюдателя.


id: EvWatcher::invoke
type: function
doc:
<comment>Description:</comment>
  Вызывает callback-функцию наблюдателя с заданной битовой маской принятых событий
  
  Вызывает callback-функцию наблюдателя с заданной битовой маской принятых событий.

<comment>Param:</comment>
  <info>int</info>  <strong>$revents</strong>  Битовая маска наблюдателя принятых событий.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvWatcher::keepalive
type: function
doc:
<comment>Description:</comment>
  Настраивает, будет ли возвращаться цикл
  
  Настраивает, будет ли возвращаться цикл. Если <strong>$value</strong> поддержания установлено <info>false</info>, наблюдатель не
  будет препятствовать возврату Ev::run / EvLoop::run, даже если наблюдатель активен.
  
  Наблюдатели по умолчанию имеют <strong>$value</strong> поддержания <info>true</info>.
  
  Очистка статуса поддержания полезна при возврате из Ev::run / EvLoop::run только потому, что
  наблюдатель нежелателен. Это может быть долго работающий наблюдатель UDP-сокета или около того.

<comment>Param:</comment>
  <info>bool</info>  <strong>$value</strong>  Если <strong>$value</strong> поддержания установлено <info>false</info>, наблюдатель не будет препятствовать
                возврату Ev::run / EvLoop::run, даже если наблюдатель активен.

<comment>Return:</comment>
  <info>bool</info>  Возвращает предыдущее состояние.


id: EvWatcher::setCallback
type: function
doc:
<comment>Description:</comment>
  Устанавливает новую callback-функцию для наблюдателя
  
  Устанавливает новую callback-функцию для наблюдателя

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Смотрите callback-функции наблюдателей .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EvWatcher::start
type: function
doc:
<comment>Description:</comment>
  Запускает наблюдателя
  
  Отмечает наблюдателя как активного. Обратите внимание, что только активные наблюдатели будут
  получать события.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvWatcher::stop


id: EvWatcher::stop
type: function
doc:
<comment>Description:</comment>
  Останавливает наблюдателя
  
  Отмечает наблюдателя как неактивного. Обратите внимание, что только активные наблюдатели будут
  получать события.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EvWatcher::start


id: Event
type: class
doc:
<comment>Description:</comment>
  Класс <class>Event</class> представляет и срабатывает на следующие события: файловый дескриптор готов к чтению
  или записи; становится готов к чтению или записи (только edge-triggered I/O (единовременное
  срабатывание)); заканчивается ожидание; получен системный сигнал; произошло пользовательское
  событие.
  
  Каждое событие связано с <class>EventBase</class> . Однако событие не будет обработано, пока не будет добавлено с
  помощью метода Event::add. Добавленное событие находится в статусе ожидания pending, пока оно не
  произошло. После этого оно переходит в статус активно (active). Для обработки событий пользователь
  может зарегистрировать функцию обратного вызова, которая будет вызвана в момент перехода события в
  активный статус. Если событие настроено как постоянное (persistent), оно вернётся в статус
  ожидания. Если оно не постоянное, то оно выйдет из режима ожидания после запуска функции обратного
  вызова. Метод Event::del удаляет, соответственно выводя его из статуса ожидания. Добавить его по
  новой можно с помощью метода Event::add.


id: Event::ET
type: constant
doc:
<comment>Description:</comment>
  Означает, что событие должно срабатывать один раз при изменении статуса (edge-triggered), если
  используемый бекенд поддерживает такое поведение. Это влияет на семантику <info>Event::READ</info> и
  <info>Event::WRITE</info> .


id: Event::PERSIST
type: constant
doc:
<comment>Description:</comment>
  Обозначает, что событие постоянное. Смотрите О постоянных событиях .


id: Event::READ
type: constant
doc:
<comment>Description:</comment>
  Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно
  потоковый ресурс или сокет) готов к чтению.


id: Event::SIGNAL
type: constant
doc:
<comment>Description:</comment>
  Используется для реализации отслеживания системных сигналов. Смотрите "Создание событий для
  сигналов" ниже.


id: Event::TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Флаг означает, что активировалось событие по истечению ожидания (timeout).
  
  Флаг <info>Event::TIMEOUT</info> игнорируется при создании события: его можно установить при добавлении. Он
  задаётся в аргументе <return>$what</return> функции обратного вызова, если произошло событие этого типа.


id: Event::WRITE
type: constant
doc:
<comment>Description:</comment>
  Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно
  потоковый ресурс или сокет) готов к записи.


id: Event::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта Event
  
  Создаёт объект Event.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  Событийная база, к которой необходимо привязать событие.
  <info>mixed</info>      <strong>$fd</strong>    Ресурс потока, сокета или числовой дескриптор файла. Для событий таймера укажите
                    <info>-1</info>. Для события сигнала задайте его номер, например <info>SIGHUP</info>.
  <info>int</info>        <strong>$what</strong>  Смотрите Флаги событий .
  <info>callable</info>   <strong>$cb</strong>    Функция обратного вызова. Смотрите Функции обратного вызова для событий .
  <info>mixed</info>      <strong>$arg</strong>   Пользовательские данные, связанные с событием. Если заданы, то они будут
                    переданы в функцию обратного вызова когда произойдёт событие.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект Event.

<comment>See Also:</comment>
   * Event::signal
   * Event::timer


id: Event::add
type: function
doc:
<comment>Description:</comment>
  Перевести событие в состояние ожидания
  
  Переводит событие в состояние ожидания. Не ожидающие события никогда не сработают и не вызовут
  callback-функцию. В сочетании с Event::del, событие может быть перезапланированно пользователем в
  любое время.
  
  Если метод Event::add вызван для уже ожидающего события, libevent оставит его в состоянии ожидания
  и перезапланирует его в соответствии с заданным временем ожидания (если оно задано). Если время
  ожидания не задано, то Event::add не возымеет какого-либо эффекта.

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout</strong>  Время ожидания в секундах.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * Event::add
   * Event::del
   * Event::signal
   * Event::timer


id: Event::addSignal
type: function
doc:
<comment>Description:</comment>
  Псевдоним Event::add
  
  Метод является псевдонимом:  Event::add


id: Event::del
type: function
doc:
<comment>Description:</comment>
  Перевести событие в пассивное состояние
  
  Удаляет событие из набора отслеживаемых событий, т.е. переводит его в состояние не-ожидания.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * Event::add


id: Event::delSignal
type: function
doc:
<comment>Description:</comment>
  Псевдоним Event::del
  
  Метод является псевдонимом:  Event::del


id: Event::free
type: function
doc:
<comment>Description:</comment>
  Перевести событие в пассивное состояние и высвободить все выделенные для него ресурсы
  
  Удаляет событие из набора отслеживаемых libevent событий и высвобождает все выделенные для него
  ресурсы.
  
  В настоящее время метод Event::free не уничтожает сам объект. Для уничтожения объекта события
  используйте функцию <strong>unset()</strong> или присвойте ему <info>null</info>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Event::__construct


id: Event::getSupportedMethods
type: function
doc:
<comment>Description:</comment>
  Получить массив с именами методов, поддерживаемых в текущей версии Libevent
  
  Возвращает массив с именами методов(бэкендов), поддерживаемых в текущей версии Libevent.

<comment>Return:</comment>
  <info>array</info>  Массив строк.

<comment>See Also:</comment>
   * <class>EventConfig</class>


id: Event::pending
type: function
doc:
<comment>Description:</comment>
  Проверить, что событие находится в состоянии ожидания либо что оно запланировано
  
  Проверяет, что событие находится в состоянии ожидания либо что оно запланировано.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Одна, либо несколько констант, объединённых логическим ИЛИ: <info>Event::READ</info> ,
               <info>Event::WRITE</info> , <info>Event::TIMEOUT</info> , <info>Event::SIGNAL</info> .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если событие запланировано, либо находится в состоянии ожидания и <info>false</info>,
        если нет.


id: Event::set
type: function
doc:
<comment>Description:</comment>
  Переконфигурировать событие
  
  Переконфигурирует событие. Обратите внимание, что эта функция не вызывает устаревшую функцию
  event_set библиотеки libevent. Вместо этого она вызывает event_assign.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  Событийная база, к которой необходимо привязать событие.
  <info>mixed</info>      <strong>$fd</strong>    Поток, сокет или числовой дескриптор файла. Для событий таймера укажите <info>-1</info>, а
                    для событий сигнала - номер сигнала, например <info>SIGHUP</info>.
  <info>int</info>        <strong>$what</strong>  Смотрите Флаги событий .
  <info>callable</info>   <strong>$cb</strong>    Функция обратного вызова. Смотрите Функции обратного вызова для событий .
  <info>mixed</info>      <strong>$arg</strong>   Пользовательские данные, связанные с событием. Они будут переданы в функцию
                    обратного вызова когда произойдёт событие.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: Event::setPriority
type: function
doc:
<comment>Description:</comment>
  Задать приоритет событию
  
  Устанавливает приоритет событию.

<comment>Param:</comment>
  <info>int</info>  <strong>$priority</strong>  Приоритет.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: Event::setTimer
type: function
doc:
<comment>Description:</comment>
  Переконфигурация события таймера
  
  Переконфигурирует событие таймера. Обратите внимание, что эта функция не вызывает устаревшую
  функцию <return>event_set</return> библиотеки libevent. Вместо этого она вызывает <return>event_assign</return>.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  Событийная база, к которой необходимо привязать событие.
  <info>callable</info>   <strong>$cb</strong>    Функция обратного вызова события таймера. Смотрите Функции обратного вызова для
                    событий .
  <info>mixed</info>      <strong>$arg</strong>   Пользовательские данные, связанные с событием. Они будут переданы в функцию
                    обратного вызова когда произойдёт событие.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * Event::__construct
   * Event::timer


id: Event::signal
type: function
doc:
<comment>Description:</comment>
  Создать объект события сигнала
  
  Создаёт объект события сигнала. Это облегчённый метод для создания события сигнала. Обратите
  внимание, что штатный конструктор Event::__construct также может создавать события сигнала.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>    Событийная база, к которой необходимо привязать событие.
  <info>int</info>        <strong>$signum</strong>  Номер сигнала.
  <info>callable</info>   <strong>$cb</strong>      Функция обратного вызова события сигнала. Смотрите Функции обратного вызова
                      для событий .
  <info>mixed</info>      <strong>$arg</strong>     Пользовательские данные, связанные с событием. Они будут переданы в функцию
                      обратного вызова когда произойдёт событие.

<comment>Return:</comment>
  <info>Event</info>  Возвращает объект Event. В случае возникновения ошибки возвращает <info>false</info>.

<comment>See Also:</comment>
   * Создание событий сигнала


id: Event::timer
type: function
doc:
<comment>Description:</comment>
  Создать объект события таймера
  
  Создаёт объект события таймера. Это облегчённый метод для создания события сигнала. Обратите
  внимание, что штатный конструктор Event::__construct также может создавать события таймера.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  Событийная база, к которой необходимо привязать событие.
  <info>callable</info>   <strong>$cb</strong>    Функция обратного вызова события таймера. Смотрите Функции обратного вызова для
                    событий .
  <info>mixed</info>      <strong>$arg</strong>   Пользовательские данные, связанные с событием. Они будут переданы в функцию
                    обратного вызова когда произойдёт событие.

<comment>Return:</comment>
  <info>Event</info>  Возвращает объект Event. В случае возникновения ошибки возвращает <info>false</info>.


id: EventBase
type: class
doc:
<comment>Description:</comment>
  Класс <class>EventBase</class> представляет структуру событийной базы libevent. Он содержит набор событий и может
  их опрашивать для определения, какие из них активны.
  
  Каждая событийная база имеет метод или бэкенд, которые используются для определения готовых
  событий. Используемые методы: <return>select</return> , <return>poll</return> , <return>epoll</return> , <return>kqueue</return> , <return>devpoll</return> , <return>evport</return> и <return>win32</return> .
  
  Для настройки событийной базы или для исключения определённых бэкендов можно использовать класс
  <class>EventConfig</class>.
  
  НЕ разрушайте объект <class>EventBase</class> пока не освобождены связанные с <return>Event</return> ресурсы. В противном случае
  это приведёт к непредсказуемым результатам!


id: EventBase::EPOLL_USE_CHANGELIST
type: constant
doc:
<comment>Description:</comment>
  Если используется бэкенд <return>epoll</return> , этот флаг сообщает, что можно безопасно использовать внутренний
  код списка изменений Libevent для пакетного добавления и удаления в целях минимизации количества
  системных вызовов.
  
  Установка этого флага может повысить производительность, но может привести к проявлению бага
  Linux: не безопасно использовать этот флаг, если любой из файловых дескрипторов был клонирован с
  помощью dup() или его аналогов. Может привести к странным и трудно диагностируемым ошибкам.
  
  Этот флаг также может быть активирован установкой переменной окружения <return>EVENT_EPOLL_USE_CHANGELIST</return>.
  
  Этот флаг не действует, если вы используете любой бэкенд, кроме <return>epoll</return> .


id: EventBase::LOOP_NONBLOCK
type: constant
doc:
<comment>Description:</comment>
  Флаг используется с методом EventBase::loop и означает: "не блокировать: посмотреть, какие события
  уже готовы, запустить обратные вызовы с наивысшим приоритетом, затем выйти".


id: EventBase::LOOP_ONCE
type: constant
doc:
<comment>Description:</comment>
  Флаг используется с методом EventBase::loop и означает: "блокировать, пока libevent не получит
  активное событие, а затем выйти после того, как будут завершены функции обратного вызова для всех
  активных событий".


id: EventBase::NOLOCK
type: constant
doc:
<comment>Description:</comment>
  Флаг конфигурации. Не выделять блокировку для событийной базы, даже если блокирование настроено.


id: EventBase::NO_CACHE_TIME
type: constant
doc:
<comment>Description:</comment>
  Флаг конфигурации. Вместо проверки текущего времени каждый раз, когда цикл готов запустить функцию
  обратного вызова по таймеру, проверять его после каждого вызова такой функции.


id: EventBase::STARTUP_IOCP
type: constant
doc:
<comment>Description:</comment>
  Флаг конфигурации только для Windows. Разрешает диспетчер IOCP при старте.


id: EventBase::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EventBase
  
  Конструктор объекта EventBase

<comment>Param:</comment>
  <info>EventConfig</info>  <strong>$cfg</strong>  Необязательный объект <class>EventConfig</class>.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект EventBase.

<comment>See Also:</comment>
   * <class>EventConfig</class>


id: EventBase::dispatch
type: function
doc:
<comment>Description:</comment>
  Отправляет ожидающие события
  
  Ожидает, пока события станут активными, и запускает их callback-функции. Также, как
  EventBase::loop без установленных флагов.
  
  НЕ разрушайте объект <class>EventBase</class> пока не освобождены связанные с <return>Event</return> ресурсы. В противном случае
  это приведёт к непредсказуемым результатам!
  
  НЕ разрушайте объект <class>EventBase</class> пока не освобождены связанные с <return>Event</return> ресурсы. В противном случае
  это приведёт к непредсказуемым результатам!

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::loop


id: EventBase::exit
type: function
doc:
<comment>Description:</comment>
  Прекращает отправку событий
  
  Сообщает, что база событий должна прекратить отправку событий через указанное количество секунд.

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout</strong>  Необязательный параметр. Количество секунд, после которого база событий должна
                   прекратить отправку событий.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::stop


id: EventBase::free
type: function
doc:
<comment>Description:</comment>
  Освобождает ресурсы, выделенные для этой базы событий
  
  Освобождает ресурсы, выделенные libevent для объекта <class>EventBase</class>.
  
  Метод EventBase::free не разрушает сам объект. Чтобы полностью уничтожить объект, вызовите <strong>unset()</strong>
  или присвойте <info>null</info>.
  
  Этот метод не освобождает и не отсоединяет какие-либо события, которые в данный момент связаны с
  объектом <class>EventBase</class>, и не закрывает их сокеты - будьте осторожны.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventBase::__construct


id: EventBase::getFeatures
type: function
doc:
<comment>Description:</comment>
  Возвращает битовую маску поддерживаемых функций
  
  Возвращает битовую маску поддерживаемых функций

<comment>Return:</comment>
  <info>int</info>  Возвращает битовую маску поддерживаемых функций. Смотрите константы EventConfig::FEATURE_* .

<comment>See Also:</comment>
   * EventBase::getMethod
   * <class>EventConfig</class>


id: EventBase::getMethod
type: function
doc:
<comment>Description:</comment>
  Возвращает используемый метод события

<comment>Return:</comment>
  <info>string</info>  Строка, представляющая используемый метод события (backend).

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventBase::getTimeOfDayCached
type: function
doc:
<comment>Description:</comment>
  Возвращает текущее время базовый событий
  
  При успешном завершении возвращает текущее время (как результат функции <return>gettimeofday()</return>),
  просматривая кешированное значение в base, если это возможно, и вызывая <return>gettimeofday()</return> или
  <return>clock_gettime()</return>, в зависимости от ситуации, если нет кешированного времени.

<comment>Return:</comment>
  <info>float</info>  Возвращает текущее время базы событий. В случае возникновения ошибки возвращает <info>null</info>.


id: EventBase::gotExit
type: function
doc:
<comment>Description:</comment>
  Проверяет, был ли цикл обработки событий завершён
  
  Проверяет, был ли цикл обработки событий завершён с помощью EventBase::exit .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если цикл обработки событий завершён с помощью EventBase::exit . В иных
        случаях – <info>false</info>.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::stop
   * EventBase::gotStop


id: EventBase::gotStop
type: function
doc:
<comment>Description:</comment>
  Проверяет, был ли цикл обработки событий завершён
  
  Проверяет, был ли цикл обработки событий завершён с помощью EventBase::stop .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если цикл обработки событий был завершён с помощью EventBase::stop . В
        противном случае – <info>false</info>.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::stop
   * EventBase::gotExit


id: EventBase::loop
type: function
doc:
<comment>Description:</comment>
  Отправка ожидающих событий
  
  Ожидает, пока события станут активными, и запускает их callback-функции.
  
  НЕ разрушайте объект <class>EventBase</class> пока не освобождены связанные с <return>Event</return> ресурсы. В противном случае
  это приведёт к непредсказуемым результатам!
  
  НЕ разрушайте объект <class>EventBase</class> пока не освобождены связанные с <return>Event</return> ресурсы. В противном случае
  это приведёт к непредсказуемым результатам!

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Необязательные флаги. Одна из констант <return>EventBase::LOOP_*</return>. Смотрите EventBase
               константы.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::dispatch


id: EventBase::priorityInit
type: function
doc:
<comment>Description:</comment>
  Устанавливает количество приоритетов на базу событий
  
  Устанавливает количество приоритетов на базу событий

<comment>Param:</comment>
  <info>int</info>  <strong>$n_priorities</strong>  Количество приоритетов на базу событий.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * Event::setPriority


id: EventBase::reInit
type: function
doc:
<comment>Description:</comment>
  Повторная инициализация базы событий (после разветвления)
  
  Повторная инициализация базы событий (после разветвления)

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventBase::stop
type: function
doc:
<comment>Description:</comment>
  Сообщает event_base прекратить отправку событий
  
  Сообщает event_base прекратить отправку событий

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::gotStop


id: EventBuffer
type: class
doc:
<comment>Description:</comment>
  <class>EventBuffer</class> представляет событийный буфер библиотеки Libevent - вспомогательный функционал для
  буферизированного ввода/вывода.
  
  Буферы событий обычно полезны для организации "буферной" части буферизированного сетевого
  ввода/вывода.


id: EventBuffer::EOL_ANY
type: constant
doc:
<comment>Description:</comment>
  Конец строки является любой последовательностью любого числа символов перевода строки и возврата
  каретки. Этот формат не особо полезен и существует только для обеспечения обратной совместимости.


id: EventBuffer::EOL_CRLF
type: constant
doc:
<comment>Description:</comment>
  Конец строки является последовательностью из необязательного возврата каретки и перевода строки.
  (Другими словами либо <return>"\r\n"</return> либо <return>"\n"</return> .) Этот формат полезен при разборе текстовых
  Интернет-протоколов, поскольку стандарты обычно предписывают обозначать конец строки как <return>"\r\n"</return>,
  но многие клиенты используют просто <return>"\n"</return> .


id: EventBuffer::EOL_CRLF_STRICT
type: constant
doc:
<comment>Description:</comment>
  Конец строки является последовательностью из символов возврата каретки и перевода строки. (Т.е.
  <return>"\r\n"</return> . ASCII-коды <info>0x0D</info> <info>0x0A</info> ).


id: EventBuffer::EOL_LF
type: constant
doc:
<comment>Description:</comment>
  Конец строки является обозначается символом перевода строки. (т.е. <return>"\n"</return> . ASCII-код <info>0x0A</info> .)


id: EventBuffer::PTR_ADD
type: constant
doc:
<comment>Description:</comment>
  То же, что и <info>EventBuffer::PTR_SET</info> , за исключением, что флаг указывает методу
  EventBuffer::setPosition переместить позицию вперёд на указанное количество байт.


id: EventBuffer::PTR_SET
type: constant
doc:
<comment>Description:</comment>
  Флаг используется как аргумент метода EventBuffer::setPosition. Если флаг установлен, то указатель
  позиции перемещается на абсолютную позицию в буфере.


id: EventBuffer::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект EventBuffer
  
  Создаёт объект EventBuffer

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект EventBuffer.


id: EventBuffer::add
type: function
doc:
<comment>Description:</comment>
  Добавляет данные в конец буфера событий
  
  Добавляет данные в конец буфера событий

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Строка, которая будет добавлена в конец буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::addBuffer


id: EventBuffer::addBuffer
type: function
doc:
<comment>Description:</comment>
  Перемещает все данные из буфера экземпляру EventBuffer
  
  Перемещает все данные из буфера, указанного в параметре <strong>$buf</strong>, в конец текущего <class>EventBuffer</class>. Это
  разрушительное дополнение. Данные из одного буфера перемещаются в другой буфер. Однако ненужных
  копий памяти не происходит.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Исходный объект EventBuffer.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::add


id: EventBuffer::appendFrom
type: function
doc:
<comment>Description:</comment>
  Перемещает указанное количество байтов из исходного буфера в конец текущего буфера
  
  Перемещает указанное количество байтов из исходного буфера в конец текущего буфера. Если
  количество байтов меньше, перемещает все байты, доступные из исходного буфера.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Исходный буфер.
  <info>int</info>          <strong>$len</strong>  

<comment>Return:</comment>
  <info>int</info>  Возвращает количество прочитанных байтов.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::read


id: EventBuffer::copyout
type: function
doc:
<comment>Description:</comment>
  Копирует указанное количество байтов с начала буфера
  
  Ведёт себя так же, как EventBuffer::read, но не выводит данные из буфера. То есть он копирует
  первые байты <strong>$max_bytes</strong> с начала буфера в <strong>$data</strong>. Если доступно меньше <strong>$max_bytes</strong>, функция копирует
  все имеющиеся байты.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>       Выходная строка.
  <info>int</info>     <strong>$max_bytes</strong>  Количество байтов для копирования.

<comment>Return:</comment>
  <info>int</info>  Возвращает количество скопированных байтов или <info>-1</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::drain
type: function
doc:
<comment>Description:</comment>
  Удаляет указанное количество байтов с начала буфера, никуда не копируя
  
  Ведёт себя, как EventBuffer::read, за исключением того, что он не копирует данные: просто удаляет
  их из начала буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$len</strong>  Количество байтов для удаления из буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::enableLocking
type: function
doc:
<comment>Description:</comment>
  Включает блокировку для <class>EventBuffer</class>, чтобы он мог безопасно использоваться несколькими потоками
  одновременно. Когда блокировка включена, она будет удерживаться при вызове callback-функций. Это
  может привести к тупику, если вы не будете осторожны. Планируйте соответственно!

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * Evbuffers и Thread-безопасность


id: EventBuffer::expand
type: function
doc:
<comment>Description:</comment>
  Резервирует пространство в буфере
  
  Изменяет последний фрагмент памяти в буфере или добавляет новый фрагмент, чтобы буфер был
  достаточно велик, для содержания <strong>$len</strong> байтов без каких-либо дополнительных выделений.

<comment>Param:</comment>
  <info>int</info>  <strong>$len</strong>  Количество байтов, резервируемых для буфера

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventBuffer::freeze
type: function
doc:
<comment>Description:</comment>
  Предотвращает вызовы, которые изменяют буфер событий в случае успешного выполнения
  
  Предотвращает вызовы, которые изменяют буфер событий в случае успешного выполнения

<comment>Param:</comment>
  <info>bool</info>  <strong>$at_front</strong>  Отключить ли изменения в начале или конце буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::unfreeze


id: EventBuffer::lock
type: function
doc:
<comment>Description:</comment>
  Получает блокировку буфера
  
  Получает блокировку буфера. Может использоваться в паре с EventBuffer::unlock, чтобы сделать набор
  операций атомарным, то есть потокобезопасным. Обратите внимание, что нет необходимости блокировать
  буферы для отдельных операций. Когда блокировка включена (смотрите EventBuffer::enableLocking),
  отдельные операции над буферами событий уже являются атомарными.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventBuffer::unlock


id: EventBuffer::prepend
type: function
doc:
<comment>Description:</comment>
  Записывает данные в начало буфера
  
  Записывает данные в начало буфера.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Строка, которая будет добавлена в начало буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::prependBuffer
   * EventBuffer::add
   * EventBuffer::addBuffer


id: EventBuffer::prependBuffer
type: function
doc:
<comment>Description:</comment>
  Перемещает все данные из исходного буфера в начало текущего буфера
  
  Ведёт себя как EventBuffer::addBuffer , за исключением того, что он перемещает данные в начало
  буфера.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Исходный буфер.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::add
   * EventBuffer::addBuffer
   * EventBuffer::prepend


id: EventBuffer::pullup
type: function
doc:
<comment>Description:</comment>
  Линеаризует данные в буфере и
     возвращает их содержимое в виде строки
  
  "Линеаризует" первые <strong>$size</strong> байты буфера, копируя или перемещая их по мере необходимости, чтобы
  гарантировать, что все они являются смежными и занимают один и тот же кусок памяти. Если размер
  отрицателен, функция линеаризует весь буфер.
  
  Вызов EventBuffer::pullup с большим размером может быть довольно медленным, поскольку потенциально
  может потребоваться копирование всего содержимого буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>  Количество байтов должно быть непрерывным в буфере.

<comment>Return:</comment>
  <info>string</info>  Если <strong>$size</strong> больше, чем количество байтов в буфере, функция возвращает <info>null</info>. В противном
          случае возвращает строку EventBuffer::pullup.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::read
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::read
type: function
doc:
<comment>Description:</comment>
  Читает данные из evbuffer и истощает прочитанные байты
  
  Прочитайте первые <strong>$max_bytes</strong> из буфера и истощите прочитанные байты. Если запрошено больше
  <strong>$max_bytes</strong>, чем доступно в буфере, он извлекает столько байтов, сколько доступно.

<comment>Param:</comment>
  <info>int</info>  <strong>$max_bytes</strong>  Максимальное количество байтов для чтения из буфера.

<comment>Return:</comment>
  <info>string</info>  Возвращает прочитанную строку или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::readFrom
type: function
doc:
<comment>Description:</comment>
  Читает данные из файла в конец буфера
  
  Читает данные из файла, указанного в <strong>$fd</strong> в конец буфера.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>       Ресурс сокета, поток или числовой дескриптор файла.
  <info>int</info>    <strong>$howmuch</strong>  Максимальное количество байтов для чтения.

<comment>Return:</comment>
  <info>int</info>  Возвращает количество прочитанных байтов или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::readLine
type: function
doc:
<comment>Description:</comment>
  Извлекает строку из начала буфера
  
  Извлекает строку из начала буфера и возвращает её во вновь выделенной строке. Если нет целой
  строки для чтения, функция возвращает <info>null</info>. Терминатор строки не включается в скопированную
  строку.

<comment>Param:</comment>
  <info>int</info>  <strong>$eol_style</strong>  Одна из EventBuffer:EOL_* констант .

<comment>Return:</comment>
  <info>string</info>  В случае успешного выполнения возвращает строку, прочитанную из буфера, в противном случае
          возвращает <info>null</info>.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::search
type: function
doc:
<comment>Description:</comment>
  Сканирует буфер на наличие строки
  
  Сканирует буфер на наличие строки <strong>$what</strong>. Возвращает числовую позицию строки или <info>false</info>, если строка
  не была найдена.
  
  Если указан аргумент <strong>$start</strong>, он указывает на позицию, с которой должен начинаться поиск; в
  противном случае поиск выполняется с начала строки. Если указан аргумент <strong>$end</strong>, поиск выполняется
  между начальной и конечной позициями буфера.

<comment>Param:</comment>
  <info>string</info>  <strong>$what</strong>   Строка для поиска.
  <info>int</info>     <strong>$start</strong>  Позиция начала поиска.
  <info>int</info>     <strong>$end</strong>    Позиция окончания поиска.

<comment>Return:</comment>
  <info>mixed</info>  Возвращает числовую позицию первого вхождения строки в буфере или <info>false</info>, если строка не
         найдена.
         
         Эта функция может возвращать как логическое значение <info>false</info>, так и значение не типа boolean,
         которое приводится к <info>false</info>. За более подробной информацией обратитесь к разделу Булев тип.
         Используйте оператор === для проверки значения, возвращаемого этой функцией.

<comment>See Also:</comment>
   * EventBuffer::searchEol


id: EventBuffer::searchEol
type: function
doc:
<comment>Description:</comment>
  Сканирует буфер на наличие конца строки
  
  Сканирует буфер на наличие конца строки, указанного параметром <strong>$eol_style</strong>. Возвращает числовую
  позицию строки или <info>false</info>, если строка не была найдена.
  
  Если указан аргумент <strong>$start</strong>, он представляет позицию, с которой должен начинаться поиск; в
  противном случае поиск выполняется с начала строки. Если указан аргумент <strong>$end</strong>, поиск выполняется
  между начальной и конечной позициями буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$start</strong>      Start search position.
  <info>int</info>  <strong>$eol_style</strong>  Одна из EventBuffer:EOL_* констант .

<comment>Return:</comment>
  <info>mixed</info>  Возвращает числовую позицию первого вхождения символа конца строки в буфере или <info>false</info>, если
         не найдено.
         
         Эта функция может возвращать как логическое значение <info>false</info>, так и значение не типа boolean,
         которое приводится к <info>false</info>. За более подробной информацией обратитесь к разделу Булев тип.
         Используйте оператор === для проверки значения, возвращаемого этой функцией.

<comment>See Also:</comment>
   * EventBuffer::search


id: EventBuffer::substr
type: function
doc:
<comment>Description:</comment>
  Обрезает часть данных буфера
  
  Обрезает до <strong>$length</strong> байтов данных буфера, начиная с позиции <strong>$start</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$start</strong>   Начальная позиция данных, подлежащих обрезанию.
  <info>int</info>  <strong>$length</strong>  Максимальное количество байтов для обрезания.

<comment>Return:</comment>
  <info>string</info>  Возвращает данные, вычтенные в виде строки (<info>string</info>) в случае успешного выполнения или
          <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::read


id: EventBuffer::unfreeze
type: function
doc:
<comment>Description:</comment>
  Повторно включает вызовы, которые изменяют буфер событий
  
  Повторно включает вызовы, которые изменяют буфер событий.

<comment>Param:</comment>
  <info>bool</info>  <strong>$at_front</strong>  Определяет включить события в начале или в конце буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::freeze


id: EventBuffer::unlock
type: function
doc:
<comment>Description:</comment>
  Снимает блокировку, установленную EventBuffer::lock
  
  Снимает блокировку, установленную EventBuffer::lock .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::lock


id: EventBuffer::write
type: function
doc:
<comment>Description:</comment>
  Записывает содержимое буфера в файл или сокет
  
  Записывает содержимое буфера в дескриптор файла. Буфер будет очищен после успешной записи байтов.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>       Ресурс сокета, потоковый или числовой дескриптор файла, связанный обычно с
                   сокетом.
  <info>int</info>    <strong>$howmuch</strong>  Максимальное количество байтов для записи.

<comment>Return:</comment>
  <info>int</info>  Возвращает количество записанных байтов или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBuffer::read


id: EventBufferEvent
type: class
doc:
<comment>Description:</comment>
  Представляет буферизированное событие Libevent.
  
  Обычно приложению необходимо произвести буферизацию некоторого количества данных в дополнение к
  тому, чтоб просто реагировать на события. Когда мы, к примеру, хотим записывать данные, обычный
  алгоритм выглядит так:
  
  Решаем, что нам надо записать данные в соединение; складываем данные в буфер
  
  Ожидаем, когда соединение станет доступным для записи
  
  Записываем столько данных, сколько можем
  
  Запоминаем, сколько данных записали и, если остались недозаписанные данные, ждём, когда соединение
  снова станет доступно для записи.
  
  Это шаблон буферизированного вводы/вывода настолько распространён, что Libevent предоставляет
  встроенный механизм для него. "Буферизированное событие" состоит из транспорта (например сокета),
  буфера чтения и буфера записи. В отличие от стандартных событий, которые используют функцию
  обратного вызова когда транспорт становится доступен для чтения или записи, буферизованное событие
  вызывает функцию обратного вызова тогда, когда прочитает или запишет достаточное количество
  данных.


id: EventBufferEvent::ERROR
type: constant
doc:
<comment>Description:</comment>
  Произошла ошибка во время операции с bufferevent. Подробную информацию об ошибке можно получить с
  помощью методов EventUtil::getLastSocketErrno и/или EventUtil::getLastSocketError .


id: EventBufferEvent::OPT_CLOSE_ON_FREE
type: constant
doc:
<comment>Description:</comment>
  Закрыть нижележащий транспорт, когда объект буферизированного события уничтожен. Будет закрыт
  сокет, уничтожен буфер и т.д.


id: EventBufferEvent::OPT_DEFER_CALLBACKS
type: constant
doc:
<comment>Description:</comment>
  Когда флаг установлен, bufferevent откладывает все свои функции обратного вызова. Смотрите
  Быстрое, переносимое, неблокирующее сетевое программирование с Libevent и отложенными функциями
  обратного вызова (Deferred callbacks) .


id: EventBufferEvent::OPT_THREADSAFE
type: constant
doc:
<comment>Description:</comment>
  Автоматически размещать блокировки для bufferevent, что позволяет безопасно использовать
  многопоточность.


id: EventBufferEvent::OPT_UNLOCK_CALLBACKS
type: constant
doc:
<comment>Description:</comment>
  По умолчанию, когда bufferevent настроен как потокобезопасный, для буферизированного события будут
  сохраняться блокировки при запуске любых пользовательских функций обратного вызова. Установка
  этого флага говорит Libevent убирать блокировки при вызове этих callback-функций.


id: EventBufferEvent::READING
type: constant
doc:
<comment>Description:</comment>
  Событие произошло в момент операции чтения из bufferevent. Проверьте другие флаги для этого
  события.


id: EventBufferEvent::SSL_ACCEPTING
type: constant
doc:
<comment>Description:</comment>
  В текущий момент SSL участвует в установлении соединения как сервер


id: EventBufferEvent::SSL_CONNECTING
type: constant
doc:
<comment>Description:</comment>
  В текущий момент SSL участвует в установлении соединения как клиент


id: EventBufferEvent::WRITING
type: constant
doc:
<comment>Description:</comment>
  Событие произошло в момент операции записи в bufferevent. Проверьте другие флаги для этого
  события.


id: EventBufferEvent::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект EventBufferEvent
  
  Создаёт событие буфера для сокета, потока или файлового дескриптора. Передача <info>null</info> в <strong>$socket</strong>
  означает, что сокет должен быть создан позже, например, с помощью EventBufferEvent::connect.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     База события, которая должна быть связана с новым буферным событием.
  <info>mixed</info>      <strong>$socket</strong>   Может быть создан в виде потока (не обязательно с помощью модуля <return>sockets</return>).
  <info>int</info>        <strong>$options</strong>  Одна из констант EventBufferEvent::OPT_* или <info>0</info>.
  <info>callable</info>   <strong>$readcb</strong>   Callback-функция чтения. Обратитесь к разделу О callback-функциях событийного
                       буфера.
  <info>callable</info>   <strong>$writecb</strong>  Callback-функция записи. Обратитесь к разделу О callback-функциях событийного
                       буфера.
  <info>callable</info>   <strong>$eventcb</strong>  Callback-функция события изменения статуса. Обратитесь к разделу О
                       callback-функциях событийного буфера.
  <info>mixed</info>      <strong>$arg</strong>      Переменная, которая будет передана всем callback-функциям.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает ресурс события буфера, связанный при необходимости с ресурсом сокета.

<comment>See Also:</comment>
   * EventBufferEvent::sslFilter
   * EventBufferEvent::sslSocket


id: EventBufferEvent::close
type: function
doc:
<comment>Description:</comment>
  Закрывает дескриптор файла, связанный с текущим событием буфера
  
  Закрывает дескриптор файла, связанный с текущим событием буфера.
  
  Метод может использоваться в тех случаях, когда опция <info>EventBufferEvent::OPT_CLOSE_ON_FREE</info> не
  подходит.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventBufferEvent::connect
type: function
doc:
<comment>Description:</comment>
  Подключает файловый дескриптор события буфера к указанному адресу или сокету UNIX
  
  Подключает файловый дескриптор события буфера к указанному адресу (опционально с портом) или
  сокету UNIX.
  
  Если сокет не назначен событию буфера, функция выделяет новый сокет и делает его внутренним
  неблокирующим.
  
  Чтобы разрешить DNS-имена (асинхронно), используйте метод EventBufferEvent::connectHost.

<comment>Param:</comment>
  <info>string</info>  <strong>$addr</strong>  Должен содержать IP-адрес с необязательным номером порта или путь к сокету домена
                 UNIX. Допустимые форматы:  Имейте в виду, что префикс <return>'unix:'</return> в настоящее время не
                 чувствителен к регистру.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::connectHost


id: EventBufferEvent::connectHost
type: function
doc:
<comment>Description:</comment>
  Подключается по имени хоста с возможностью асинхронного разрешения DNS
  
  Разрешает имя хоста DNS-имени, ища адреса типа <strong>$family</strong> (константы <return>EventUtil::AF_*</return>). Если
  разрешение имени не удалось произвести, вызывает callback-функцию события с событием ошибки. В
  случае успешного выполнения совершает попытку подключения так же, как EventBufferEvent::connect.
  
  Параметр <strong>$dns_base</strong> не является обязательным. Он может иметь значение <info>null</info> или ссылаться на объект,
  созданный с помощью EventDnsBase::__construct. Для асинхронного разрешения имени хоста необходимо
  передать действительный базовый ресурс DNS-события. В противном случае разрешение имени хоста
  будет заблокировано.
  
  <class>EventDnsBase</class> доступен, только если <return>Event</return> настроен с --with-event-extra (библиотека <return>event_extra</return>,
  поддержка функций протокола libevent, включая HTTP, DNS и RPC).
  
  EventBufferEvent::connectHost требует <return>libevent-2.0.3-alpha</return> или выше.

<comment>Param:</comment>
  <info>EventDnsBase</info>  <strong>$dns_base</strong>  Объект <class>EventDnsBase</class> в случае, если DNS нужно разрешить асинхронно. <info>null</info> в
                           противном случае.
  <info>string</info>        <strong>$hostname</strong>  Имя хоста для подключения. Распознаваемые форматы:
                           
  <info>int</info>           <strong>$port</strong>      Номер порта.
  <info>int</info>           <strong>$family</strong>    Семейство адресов. <info>EventUtil::AF_UNSPEC</info>, <info>EventUtil::AF_INET</info> или
                           <info>EventUtil::AF_INET6</info>. Обратитесь к списку констант EventUtil.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::connect


id: EventBufferEvent::createPair
type: function
doc:
<comment>Description:</comment>
  Создаёт два буферных события, связанных друг с другом
  
  Возвращает массив из двух объектов <class>EventBufferEvent</class>, связанных друг с другом. Поддерживаются все
  обычные параметры, за исключением <info>EventBufferEvent::OPT_CLOSE_ON_FREE</info>, который не действует, и
  <info>EventBufferEvent::OPT_DEFER_CALLBACKS</info>, который всегда включён.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     Связанная база событий.
  <info>int</info>        <strong>$options</strong>  Константы EventBufferEvent::OPT_* в сочетании с побитовым ИЛИ (<return>OR</return>).

<comment>Return:</comment>
  <info>array</info>  Возвращает массив из двух объектов <class>EventBufferEvent</class>, связанных друг с другом.


id: EventBufferEvent::disable
type: function
doc:
<comment>Description:</comment>
  Отключает чтение, запись или и то, и другое в событии буфера
  
  Отключает события <info>Event::READ</info>, <info>Event::WRITE</info>, или <info>Event::READ</info> <return>|</return> <info>Event::WRITE</info> в событии буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>  

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::enable


id: EventBufferEvent::enable
type: function
doc:
<comment>Description:</comment>
  Включает чтение, запись или и то, и другое в событии буфера
  
  Включает события <info>Event::READ</info>, <info>Event::WRITE</info>, или <info>Event::READ</info> <return>|</return> <info>Event::WRITE</info> в событии буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>  <info>Event::READ</info>, <info>Event::WRITE</info>, или <info>Event::READ</info> <return>|</return> <info>Event::WRITE</info> в событии буфера.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::disable


id: EventBufferEvent::free
type: function
doc:
<comment>Description:</comment>
  Освобождает событие буфера
  
  Освобождает ресурсы, выделенные буферным событием.
  
  Обычно нет необходимости вызывать этот метод, поскольку обычно это делается во внутренних
  деструкторах объекта. Однако иногда скрипты выполняются долго и создают множество экземпляров, а
  иногда интенсивно используют память, поэтому необходимо как можно скорее освободить ресурсы. В
  таких случаях EventBufferEvent::free может использоваться для защиты скрипта от достижения
  <return>memory_limit</return>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventBufferEvent::getDnsErrorString
type: function
doc:
<comment>Description:</comment>
  Возвращает строку, описывающую последнюю неудачную попытку поиска DNS
  
  Возвращает строку, описывающую последнюю неудачную попытку поиска DNS, сделанную
  EventBufferEvent::connectHost, или пустую строку, если ошибка DNS не обнаружена.

<comment>Return:</comment>
  <info>string</info>  Возвращает строку, описывающую ошибку поиска DNS, или пустую строку, если ошибки не
          произошло.

<comment>See Also:</comment>
   * EventBufferEvent::connectHost


id: EventBufferEvent::getEnabled
type: function
doc:
<comment>Description:</comment>
  Возвращает битовую маску событий, которые в данный момент активированы для
     буферного события
    
  
  Возвращает битовую маску событий, которые в данный момент активированы для буферного события.

<comment>Return:</comment>
  <info>int</info>  Возвращает целое число, представляющее битовую маску событий, которые в данный момент
       активированы для буферного события.

<comment>See Also:</comment>
   * EventBufferEvent::enable
   * EventBufferEvent::disable


id: EventBufferEvent::getInput
type: function
doc:
<comment>Description:</comment>
  Возвращает базовый входной буфер, связанный с текущим буферным событием
  
  Возвращает базовый входной буфер, связанный с текущим буферным событием. Входной буфер - это
  хранилище данных для чтения.
  
  Обратите внимание, что есть также <return>input</return> свойство класса <class>EventBufferEvent</class>.

<comment>Return:</comment>
  <info>EventBuffer</info>  Возвращает экземпляр класса <class>EventBuffer</class> входного буфера, связанного с текущим
               буферным событием.

<comment>See Also:</comment>
   * EventBufferEvent::getOutput


id: EventBufferEvent::getOutput
type: function
doc:
<comment>Description:</comment>
  Возвращает базовый выходной буфер, связанный с текущим буферным событием
  
  Возвращает базовый выходной буфер, связанный с текущим буферным событием. Выходной буфер является
  хранилищем данных для записи.
  
  Обратите внимание, что есть также <return>output</return> свойство класса <class>EventBufferEvent</class>.

<comment>Return:</comment>
  <info>EventBuffer</info>  Возвращает экземпляр <class>EventBuffer</class> выходного буфера, связанного с текущим буферным
               событием.

<comment>See Also:</comment>
   * EventBufferEvent::getInput


id: EventBufferEvent::read
type: function
doc:
<comment>Description:</comment>
  Читает данные буфера
  
  Удаляет до <strong>$size</strong> байтов из входного буфера. Возвращает строку данных, прочитанную из входного
  буфера.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>  Максимальное количество байтов для чтения

<comment>Return:</comment>
  <info>string</info>  Возвращает строку данных, прочитанную из входного буфера.

<comment>See Also:</comment>
   * EventBufferEvent::readBuffer


id: EventBufferEvent::readBuffer
type: function
doc:
<comment>Description:</comment>
  Сливает все содержимое буфера ввода и помещает его в буфер
  
  Сливает все содержимое буфера ввода и помещает его в <strong>$buf</strong> .

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Целевой буфер

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::read


id: EventBufferEvent::setCallbacks
type: function
doc:
<comment>Description:</comment>
  Назначает callback-функции для чтения, записи и события (состояния)
  
  Назначает callback-функции для чтения, записи и события (состояния).

<comment>Param:</comment>
  <info>callable</info>  <strong>$readcb</strong>   Callback-функция чтения. Смотрите подробнее О callback-функциях буферов .
  <info>callable</info>  <strong>$writecb</strong>  Callback-функция записи. Смотрите подробнее О callback-функциях буферов .
  <info>callable</info>  <strong>$eventcb</strong>  Callback-функция события изменения статуса. Смотрите подробнее О
                      callback-функциях буферов .
  <info>mixed</info>     <strong>$arg</strong>      Переменная, которая будет передана всем callback-функциям.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventBufferEvent::__construct


id: EventBufferEvent::setPriority
type: function
doc:
<comment>Description:</comment>
  Присваивает приоритет bufferevent
  
  Присваивает приоритет bufferevent
  
  Поддерживается только для событий буфера сокета

<comment>Param:</comment>
  <info>int</info>  <strong>$priority</strong>  Значение приоритета.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventBufferEvent::setTimeouts
type: function
doc:
<comment>Description:</comment>
  Устанавливает время ожидания чтения и записи для события буфера
  
  Устанавливает время ожидания чтения и записи для события буфер

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout_read</strong>   Время ожидания чтения
  <info>float</info>  <strong>$timeout_write</strong>  Время ожидания записи

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventBufferEvent::setWatermark
type: function
doc:
<comment>Description:</comment>
  Регулирует водяные знаки чтения и/или записи
  
  Регулирует водяные знаки чтения, водяные знаки записи или и то, и другое для одного события
  буфера.
  
  Водяной знак события буфера - это значение, определяющее количество байтов, которые должны быть
  прочитаны или записаны перед вызовом callback-функции. По умолчанию каждое событие чтения/записи
  запускает вызов callback-функции. Обратитесь к Fast portable non-blocking network programming with
  Libevent: Callbacks and watermarks.

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>    Битовая маска <info>Event::READ</info>, <info>Event::WRITE</info> или обоих.
  <info>int</info>  <strong>$lowmark</strong>   Минимальное значение водяного знака.
  <info>int</info>  <strong>$highmark</strong>  Максимальное значение водяного знака. <info>0</info> означает "без ограничений".

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventBufferEvent::sslError
type: function
doc:
<comment>Description:</comment>
  Возвращает последнюю ошибку OpenSSL, сообщённую буферному событию
  
  Возвращает последнюю ошибку OpenSSL, сообщённую буферному событию.
  
  Функция доступна, только если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Возвращает строку ошибки OpenSSL, о которой сообщалось в буферном событии, или <info>false</info>, если
          больше нет ошибок для возврата.

<comment>See Also:</comment>
   * EventBufferEvent::sslRenegotiate


id: EventBufferEvent::sslFilter
type: function
doc:
<comment>Description:</comment>
  Создаёт новое событие буфера SSL для отправки своих данных через другое событие буфера
  
  Создаёт новое событие буфера SSL для отправки своих данных через другое событие буфера
  
  Функция доступна только в том случае, если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Param:</comment>
  <info>EventBase</info>         <strong>$base</strong>        Связанная база событий.
  <info>EventBufferEvent</info>  <strong>$underlying</strong>  Событие буфера сокета, чтобы использовать для этого SSL.
  <info>EventSslContext</info>   <strong>$ctx</strong>         Объект класса <class>EventSslContext</class>.
  <info>int</info>               <strong>$state</strong>       Текущее состояние SSL-соединения: <info>EventBufferEvent::SSL_OPEN</info> ,
                                 <info>EventBufferEvent::SSL_ACCEPTING</info> или
                                 <info>EventBufferEvent::SSL_CONNECTING</info> .
  <info>int</info>               <strong>$options</strong>     Один или несколько параметров буфера.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Возвращает новый SSL <class>EventBufferEvent</class> объект.

<comment>See Also:</comment>
   * EventBufferEvent::sslSocket


id: EventBufferEvent::sslGetCipherInfo
type: function
doc:
<comment>Description:</comment>
  Возвращает текстовое описание шифра
  
  Получает описание текущего шифра с помощью функции SSL API <return>SSL_CIPHER_description</return> (смотрите
  справочную страницу SSL_CIPHER_get_name(3)).
  
  Функция доступна, только если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Возвращает текстовое описание шифра в случае успешного выполнения или <info>false</info> в случае
          возникновения ошибки.


id: EventBufferEvent::sslGetCipherName
type: function
doc:
<comment>Description:</comment>
  Возвращает текущее имя шифра соединения SSL
  
  Получает имя шифра, используемого текущим соединением SSL.
  
  Функция доступна, только если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Возвращает текущее имя шифра SSL-соединения или <info>false</info> в случае возникновения ошибки.


id: EventBufferEvent::sslGetCipherVersion
type: function
doc:
<comment>Description:</comment>
  Возвращает версию шифра, используемого текущим SSL-соединением
  
  Получает версию шифра, используемого текущим соединением SSL.
  
  Функция доступна, только если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Возвращает текущую версию шифрованного соединения SSL или <info>false</info> в случае возникновения
          ошибки.


id: EventBufferEvent::sslGetProtocol
type: function
doc:
<comment>Description:</comment>
  Возвращает имя протокола, используемого для текущего соединения SSL
  
  Возвращает имя протокола, используемого для текущего соединения SSL.
  
  Функция доступна, только если <return>Event</return> скомпилирован с поддержкой OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Возвращает имя протокола, используемого для текущего соединения SSL.


id: EventBufferEvent::sslRenegotiate
type: function
doc:
<comment>Description:</comment>
  Сообщает буферному событию начать пересмотр SSL
  
  Сообщает буферному событию начать пересмотр SSL.
  
  Вызов этой функции пересмотрит SSL и вызовет соответствующие callback-функции буферного события.
  Это сложная тема; этого, как правило, следует избегать, если только вы действительно знаете, что
  делаете, тем более что во многих версиях SSL были известны проблемы безопасности, связанные с
  пересмотром.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventBufferEvent::sslSocket
type: function
doc:
<comment>Description:</comment>
  Создаёт новое буферное событие SSL для отправки своих данных через SSL в сокет
  
  Создаёт новое буферное событие SSL для отправки своих данных через SSL в сокет.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>     Связанная база событий.
  <info>mixed</info>            <strong>$socket</strong>   Сокет, чтобы использовать для SSL. Может быть ресурсом потока или
                             сокета, числовым дескриптором файла или <info>null</info>. Если <strong>$socket</strong> равен <info>null</info>,
                             предполагается, что файловый дескриптор для сокета будет назначен
                             позже, например, с помощью метода EventBufferEvent::connectHost.
  <info>EventSslContext</info>  <strong>$ctx</strong>      Объект класса <class>EventSslContext</class>.
  <info>int</info>              <strong>$state</strong>    Текущее состояние соединения SSL: <info>EventBufferEvent::SSL_OPEN</info>,
                             <info>EventBufferEvent::SSL_ACCEPTING</info> или <info>EventBufferEvent::SSL_CONNECTING</info>.
  <info>int</info>              <strong>$options</strong>  Параметры буферного события.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Возвращает объект <class>EventBufferEvent</class>.

<comment>See Also:</comment>
   * EventBufferEvent::sslFilter


id: EventBufferEvent::write
type: function
doc:
<comment>Description:</comment>
  Добавляет данные в буфер вывода буферного события
  
  Добавляет <strong>$data</strong> в буфер вывода буферного события

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Данные для добавления в базовый буфер.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::writeBuffer


id: EventBufferEvent::writeBuffer
type: function
doc:
<comment>Description:</comment>
  Добавляет содержимое всего буфера в буфер вывода буферного события
  
  Добавляет содержимое всего буфера в буфер вывода буферного события.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Исходный объект <class>EventBuffer</class>.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBufferEvent::write


id: EventConfig
type: class
doc:
<comment>Description:</comment>
  Представляет структуру, которую можно использовать при создании <class>EventBase</class> .


id: EventConfig::FEATURE_ET
type: constant
doc:
<comment>Description:</comment>
  Требуется метод бэкенда, поддерживающий однократное срабатывание при длительном событии
  (edge-triggered I/O).


id: EventConfig::FEATURE_FDS
type: constant
doc:
<comment>Description:</comment>
  Требуется метод бэкенда, поддерживающий обычные файловые дескрипторы, а не только сокеты.


id: EventConfig::FEATURE_O1
type: constant
doc:
<comment>Description:</comment>
  Требуется метод бэкенда, для которого удаление, добавление или переключение события в активный
  статус имеет сложность O(1).


id: EventConfig::__construct
type: function
doc:
<comment>Description:</comment>
  Создать объект EventConfig
  
  Создаёт объект EventConfig, который можно передать в конструктор EventBase::__construct.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект <class>EventConfig</class>.

<comment>See Also:</comment>
   * EventBase::__construct


id: EventConfig::avoidMethod
type: function
doc:
<comment>Description:</comment>
  Попросить libevent не использовать определённый метод события
  
  Попросить libevent не использовать определённый метод события (бэкенд). Смотрите Создание базы
  события.

<comment>Param:</comment>
  <info>string</info>  <strong>$method</strong>  Метод бэкенда, который нужно игнорировать. Смотрите константы EventConfig .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::__construct


id: EventConfig::requireFeatures
type: function
doc:
<comment>Description:</comment>
  Ввести требуемые приложением свойства метода события
  
  Вводит требуемую приложением функциональность метода события

<comment>Param:</comment>
  <info>int</info>  <strong>$feature</strong>  Битовая маска требуемых свойств. Смотрите  константы <return>EventConfig::FEATURE_*</return>

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventConfig::setFlags
type: function
doc:
<comment>Description:</comment>
  Устанавливает один или несколько флагов для настройки возможной инициализации EventBase
  
  Устанавливает один или несколько флагов для настройки того, какие части возможной EventBase будут
  инициализированы и как они будут работать.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Одна из констант <return>EventBase::LOOP_*</return>. Смотрите константы EventBase.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventConfig::setMaxDispatchInterval
type: function
doc:
<comment>Description:</comment>
  Предотвратить инверсию приоритетов
  
  Предотвратить инверсию приоритетов путём ограничения числа обрабатываемых низкоприоритетных
  событий перед очередной проверкой на присутствие более приоритетных.
  
  Доступно с <return>libevent 2.1.0-alpha</return>.

<comment>Param:</comment>
  <info>int</info>  <strong>$max_interval</strong>   Интервал, после которого Libevent обязан прекратить запускать
                       callback-функции и проверить наличие новых событий, либо <info>0</info>, чтобы не
                       использовать такой функционал.
  <info>int</info>  <strong>$max_callbacks</strong>  Количество запущенных callback-функций, после которого Libevent приостановит
                       их запуск и проверит, есть ли новые события. <info>-1</info>, чтобы не использовать такой
                       функционал.
  <info>int</info>  <strong>$min_priority</strong>   Приоритет, ниже которого <strong>$max_interval</strong> и <strong>$max_callbacks</strong> не должны
                       применяться. Если установлено как <info>0</info>, данные ограничения будут применяться к
                       событиям с любым приоритетом; Если установлено в <info>1</info> , ограничения будут
                       применяться к событиям приоритета <info>1</info> и выше. И так далее.

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventDnsBase
type: class
doc:
<comment>Description:</comment>
  Представляет структуру DNS библиотеки Libevent. Используется для асинхронного разрешения DNS,
  разбора конфигурационного файла resolv.conf и т.д.


id: EventDnsBase::OPTIONS_ALL
type: constant
doc:
<comment>Description:</comment>
  Указывает использовать все, что только возможно из файла <return>resolv.conf</return>.


id: EventDnsBase::OPTION_HOSTSFILE
type: constant
doc:
<comment>Description:</comment>
  Указывает брать список хостов из файла <return>/etc/hosts</return> при загрузке <return>resolv.conf</return>.


id: EventDnsBase::OPTION_NAMESERVERS
type: constant
doc:
<comment>Description:</comment>
  Указывает использовать сервера имён (nameservers) из файла <return>resolv.conf</return>.


id: EventDnsBase::OPTION_SEARCH
type: constant
doc:
<comment>Description:</comment>
  Указывает читать домен и поисковые поля из файла <return>resolv.conf</return> и опции <return>ndots</return> и использовать их для
  определения доменов (если есть), в которых будет производиться поиск по короткому имени хоста.


id: EventDnsBase::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EventDnsBase
  
  Конструктор объекта EventDnsBase.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>        База событий.
  <info>bool</info>       <strong>$initialize</strong>  Если аргумент <strong>$initialize</strong> имеет значение <info>true</info>, он пытается разумно
                          настроить базу DNS с учётом параметров операционной системы по умолчанию.
                          В противном случае база DNS-событий остаётся пустой, без настроенных
                          серверов имён или параметров. В последнем случае база DNS должна быть
                          настроена вручную, например, с помощью EventDnsBase::parseResolvConf.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект EventDnsBase.


id: EventDnsBase::addNameserverIp
type: function
doc:
<comment>Description:</comment>
  Добавляет сервер имён в базу DNS
  
  Добавляет сервер имён в базу evdns_base.

<comment>Param:</comment>
  <info>string</info>  <strong>$ip</strong>  Строка сервера имён в виде адреса IPv4, адреса IPv6, адреса IPv4 с портом (<return>IPv4:Port</return>)
               или адреса IPv6 с портом (<return>[IPv6]:Port</return>).

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventDnsBase::addSearch
type: function
doc:
<comment>Description:</comment>
  Добавляет домен в список поисковых доменов
  
  Добавляет домен в список поисковых доменов

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>  Поисковой домен.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventDnsBase::clearSearch
type: function
doc:
<comment>Description:</comment>
  Удаляет все текущие суффиксы поиска
  
  Удаляет все текущие суффиксы поиска из базы DNS; функция EventDnsBase::addSearch добавляет
  суффикс.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventDnsBase::addSearch


id: EventDnsBase::countNameservers
type: function
doc:
<comment>Description:</comment>
  Получает количество настроенных серверов имён
  
  Получает количество настроенных серверов имён

<comment>Return:</comment>
  <info>int</info>  Возвращает количество настроенных серверов имён (не обязательно количество запущенных
       серверов имён). Это можно использовать для дополнительной проверки того, были ли успешными
       вызовы различных функций конфигурации сервера имён.


id: EventDnsBase::loadHosts
type: function
doc:
<comment>Description:</comment>
  Загружает файл hosts (в том же формате, что и /etc/hosts) из файла hosts
  
  Загружает файл hosts (в том же формате, что и <return>/etc/hosts</return>) из файла hosts.

<comment>Param:</comment>
  <info>string</info>  <strong>$hosts</strong>  Путь к файлу хостов.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventDnsBase::parseResolvConf
type: function
doc:
<comment>Description:</comment>
  Сканирует файл в формате resolv.conf
  
  Сканирует файл в формате resolv.conf, хранящийся в filename, и считывает все параметры из него,
  которые перечислены во флагах.

<comment>Param:</comment>
  <info>int</info>     <strong>$flags</strong>     Определяет, какая информация анализируется из файла <return>resolv.conf</return>. Смотрите
                     справочную страницу <return>resolv.conf</return> по формату этого файла.
                     
                     Следующие директивы не анализируются из файла: <return>sortlist, rotate,
                     no-check-names, inet6, debug</return>.
                     
                     Если функция обнаруживает ошибку, возможные возвращаемые значения: <info>1</info> = не
                     удалось открыть файл<info>2</info> = не удалось определить размер файла<info>3</info> = файл слишком
                     большой<info>4</info> = недостаточно памяти<info>5</info> = краткое чтение из файла<info>6</info> = в файле нет
                     серверов имён
  <info>string</info>  <strong>$filename</strong>  Путь до <return>resolv.conf</return> файла.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventDnsBase::setOption
type: function
doc:
<comment>Description:</comment>
  Устанавливает значение параметра конфигурации
  
  Устанавливает значение параметра конфигурации.

<comment>Param:</comment>
  <info>string</info>  <strong>$option</strong>  В настоящее время доступны следующие параметры конфигурации: <return>"ndots"</return>, <return>"timeout"</return>,
                   <return>"max-timeouts"</return>, <return>"max-inflight"</return> и <return>"attempts"</return>.
  <info>string</info>  <strong>$value</strong>   Значение параметра.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventDnsBase::setSearchNdots
type: function
doc:
<comment>Description:</comment>
  Устанавливает параметр 'ndots' для поиска
  
  Устанавливает параметр <info>'ndots'</info> для поиска. Устанавливает количество точек, которое при нахождении
  в имени приводит к тому, что первый запрос не имеет поискового домена.

<comment>Param:</comment>
  <info>int</info>  <strong>$ndots</strong>  Количество точек.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventHttp::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект EventHttp (HTTP-сервер)
  
  Создаёт объект HTTP-сервера.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>  Связанная база событий.
  <info>EventSslContext</info>  <strong>$ctx</strong>   Объект класса <class>EventSslContext</class>. Превращает простой HTTP-сервер в
                          HTTPS-сервер. Это значит, что если <strong>$ctx</strong> настроен правильно, то основные
                          события буфера будут основаны на сокетах OpenSSL. Таким образом, весь
                          трафик будет проходить через SSL или TLS.
                          
                          Этот параметр доступен, только если <return>Event</return> скомпилирован с поддержкой
                          OpenSSL и только с <return>Libevent 2.1.0-alpha</return> и выше.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект <class>EventHttp</class>.


id: EventHttp::accept
type: function
doc:
<comment>Description:</comment>
  Заставляет HTTP-сервер принимать соединения с указанным потоком сокета или ресурсом
  
  Заставляет HTTP-сервер принимать соединения с указанным потоком сокета или ресурсом. Сокет должен
  быть готов к приёму соединений.
  
  Может вызываться несколько раз, чтобы принимать соединения на разных сокетах.
  
  Чтобы связать сокет, <return>прослушать</return> и <return>принять</return> соединения на сокете в одном вызове, используйте
  EventHttp::bind. EventHttp::accept требуется только в том случае, если у одного вызова уже есть
  сокет, готовый для принятия соединений.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ресурс сокета, потоковый или числовой дескриптор файла, представляющий сокет,
                  готовый принимать соединения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::bind


id: EventHttp::addServerAlias
type: function
doc:
<comment>Description:</comment>
  Добавляет псевдоним сервера к объекту HTTP-сервера
  
  Добавляет псевдоним сервера к объекту HTTP-сервера.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  Псевдоним для добавления.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::removeServerAlias


id: EventHttp::bind
type: function
doc:
<comment>Description:</comment>
  Привязывает HTTP-сервер к указанному адресу и порту
  
  Привязывает HTTP-сервер к указанному адресу и порту.
  
  Может вызываться несколько раз для привязки одного и того же HTTP-сервера к нескольким разным
  портам.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Строка, содержащая IP-адрес для <return>прослушивания(2)</return>.
  <info>int</info>     <strong>$port</strong>     Номер порта для прослушивания.

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::accept


id: EventHttp::removeServerAlias
type: function
doc:
<comment>Description:</comment>
  Удаляет псевдоним сервера
  
  Удаляет псевдоним сервера, добавленный с помощью EventHttp::addServerAlias

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  Псевдоним для удаления.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::addServerAlias


id: EventHttp::setAllowedMethods
type: function
doc:
<comment>Description:</comment>
  Устанавливает, какие методы HTTP поддерживаются в запросах, принятых этим сервером и переданных
  callback-функции пользователя
  
  Устанавливает, какие методы HTTP поддерживаются в запросах, принятых этим сервером и переданных
  callback-функции пользователя.
  
  Если не поддерживается, выдаст в ответ <return>"405 Method not allowed"</return>.
  
  По умолчанию разрешены следующие методы: <return>GET</return> , <return>POST</return> , <return>HEAD</return> , <return>PUT</return> , <return>DELETE</return> . Смотрите константы
  <return>EventHttpRequest::CMD_*</return>.

<comment>Param:</comment>
  <info>int</info>  <strong>$methods</strong>  Битовая маска констант <return>EventHttpRequest::CMD_*</return> .

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttp::setCallback
type: function
doc:
<comment>Description:</comment>
  Устанавливает callback-функцию для указанного URI
  
  Устанавливает callback-функцию для указанного URI.

<comment>Param:</comment>
  <info>string</info>            <strong>$path</strong>  Путь для вызова callback-функции.
  <info>string</info>            <strong>$cb</strong>    Callback-функция <info>callable</info>, которая вызывается по запрошенному <strong>$path</strong>.
                           Должна соответствовать следующему прототипу:
                           
                           <strong>$req</strong> Объект <class>EventHttpRequest</class>. <strong>$arg</strong> Пользовательские данные. 
                           
                           Объект <class>EventHttpRequest</class>.
                           
                           Пользовательские данные.
  <info>EventHttpRequest</info>  <strong>$req</strong>   Объект <class>EventHttpRequest</class>.
  <info>string</info>            <strong>$arg</strong>   Пользовательские данные.
  <info>string</info>            <strong>$arg</strong>   Пользовательские данные.

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::setDefaultCallback


id: EventHttp::setDefaultCallback
type: function
doc:
<comment>Description:</comment>
  Устанавливает callback-функцию по умолчанию для обработки запросов, которые не перехватываются
  конкретными callback-функциями
  
  Устанавливает callback-функцию по умолчанию для обработки запросов, которые не перехватываются
  конкретными callback-функциями

<comment>Param:</comment>
  <info>string</info>            <strong>$cb</strong>   Callback-функция <info>callable</info>. Должна соответствовать следующему прототипу:
                          
                          <strong>$req</strong> Объект <class>EventHttpRequest</class>. <strong>$arg</strong> Пользовательские данные. 
                          
                          Объект <class>EventHttpRequest</class>.
                          
                          Пользовательские данные.
  <info>EventHttpRequest</info>  <strong>$req</strong>  Объект <class>EventHttpRequest</class>.
  <info>string</info>            <strong>$arg</strong>  Пользовательские данные.
  <info>string</info>            <strong>$arg</strong>  Пользовательские данные, который передаются в callback-функцию.

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttp::setCallback


id: EventHttp::setMaxBodySize
type: function
doc:
<comment>Description:</comment>
  Устанавливает максимальный размер тела запроса
  
  Устанавливает максимальный размер тела запроса.

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  Размер тела в байтах.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttp::setMaxHeadersSize


id: EventHttp::setMaxHeadersSize
type: function
doc:
<comment>Description:</comment>
  Устанавливает максимальный размер HTTP-заголовка
  
  Устанавливает максимальный размер HTTP-заголовка

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  Размер заголовка в байтах.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttp::setMaxHeadersSize


id: EventHttp::setTimeout
type: function
doc:
<comment>Description:</comment>
  Устанавливает время ожидания для HTTP-запроса
  
  Устанавливает время ожидания для HTTP-запроса

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  Время ожидания в секундах.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpConnection::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EventHttpConnection
  
  Конструктор объекта EventHttpConnection.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>      Связанная база событий.
  <info>EventDnsBase</info>     <strong>$dns_base</strong>  Если параметр <strong>$dns_base</strong> равен <info>null</info>, разрешение имени хоста будет
                              заблокировано.
  <info>string</info>           <strong>$address</strong>   Адрес для подключения.
  <info>int</info>              <strong>$port</strong>      Порт для подключения.
  <info>EventSslContext</info>  <strong>$ctx</strong>       Объект класса <class>EventSslContext</class>. Включает OpenSSL.
                              
                              Этот параметр доступен, только если <return>Event</return> скомпилирован с поддержкой
                              OpenSSL и только с <return>Libevent 2.1.0-alpha</return> и выше.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект <class>EventHttpConnection</class>.


id: EventHttpConnection::getBase
type: function
doc:
<comment>Description:</comment>
  Возвращает базу событий, связанную с соединением
  
  Возвращает базу событий, связанную с соединением.

<comment>Return:</comment>
  <info>EventBase</info>  В случае успешного выполнения возвращает объект <class>EventBase</class>, связанный с соединением. В
             противном случае – <info>false</info>.


id: EventHttpConnection::getPeer
type: function
doc:
<comment>Description:</comment>
  Получает удалённый адрес и порт, связанный с соединением
  
  Получает удалённый адрес и порт, связанный с соединением

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Адрес, связанный с соединением.
  <info>int</info>     <strong>$port</strong>     Порт, связанный с соединением.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpConnection::makeRequest
type: function
doc:
<comment>Description:</comment>
  Делает HTTP-запрос по указанному соединению
  
  Делает HTTP-запрос по указанному соединению. <strong>$type</strong> одна из констант <return>EventHttpRequest::CMD_*</return> .

<comment>Param:</comment>
  <info>EventHttpRequest</info>  <strong>$req</strong>   Объект подключения, через который отправляется запрос.
  <info>int</info>               <strong>$type</strong>  одна из констант <return>EventHttpRequest::CMD_*</return> .
  <info>string</info>            <strong>$uri</strong>   URI, связанный с запросом.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpConnection::setCloseCallback
type: function
doc:
<comment>Description:</comment>
  Устанавливает callback-функцию при закрытии соединения
  
  Устанавливает callback-функцию при закрытии соединения.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Устанавливает callback-функцию при закрытии соединения, которая должна
                       соответствовать прототипу:

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpConnection::setLocalAddress
type: function
doc:
<comment>Description:</comment>
  Устанавливает IP-адрес, с которого происходят HTTP-соединения
  
  Устанавливает IP-адрес, с которого происходят HTTP-соединения.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  IP-адрес, с которого происходят HTTP-соединения.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpConnection::setLocalPort


id: EventHttpConnection::setLocalPort
type: function
doc:
<comment>Description:</comment>
  Устанавливает локальный порт, с которого производятся соединения
  
  Устанавливает локальный порт, с которого производятся соединения.

<comment>Param:</comment>
  <info>int</info>  <strong>$port</strong>  Номер порта.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * EventHttpConnection::setLocalAddress


id: EventHttpConnection::setMaxBodySize
type: function
doc:
<comment>Description:</comment>
  Устанавливает максимальный размер тела для подключения
  
  Устанавливает максимальный размер тела для подключения.

<comment>Param:</comment>
  <info>string</info>  <strong>$max_size</strong>  Максимальный размер тела в байтах.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpConnection::setMaxHeadersSize


id: EventHttpConnection::setMaxHeadersSize
type: function
doc:
<comment>Description:</comment>
  Устанавливает максимальный размер заголовка
  
  Устанавливает максимальный размер заголовка для соединения.

<comment>Param:</comment>
  <info>string</info>  <strong>$max_size</strong>  Максимальный размер заголовка в байтах.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpConnection::setMaxBodySize


id: EventHttpConnection::setRetries
type: function
doc:
<comment>Description:</comment>
  Устанавливает максимальное количество повторов для соединения
  
  Устанавливает максимальное количество повторов для соединения

<comment>Param:</comment>
  <info>int</info>  <strong>$retries</strong>  Количество повторов. <info>-1</info> означает бесконечное количество.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpConnection::setTimeout
type: function
doc:
<comment>Description:</comment>
  Устанавливает время ожидания для соединения
  
  Устанавливает время ожидания для соединения

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  Время ожидания в секундах

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpRequest::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор объекта EventHttpRequest
  
  Конструктор объекта EventHttpRequest.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Вызывается при запросе пути. Должен соответствовать следующему прототипу:
  <info>mixed</info>     <strong>$data</strong>      Пользовательские данные, которые передаются в callback-функцию.

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект EventHttpRequest.

<comment>See Also:</comment>
   * EventHttpRequest::cancel
   * EventHttpRequest::addHeader


id: EventHttpRequest::addHeader
type: function
doc:
<comment>Description:</comment>
  Добавляет заголовок HTTP к заголовкам запроса
  
  Добавляет заголовок HTTP к заголовкам запроса.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    Наименование заголовка.
  <info>string</info>  <strong>$value</strong>  Значение заголовка.
  <info>int</info>     <strong>$type</strong>   Одна из констант <return>EventHttpRequest::*_HEADER</return> .

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventHttpRequest::removeHeader


id: EventHttpRequest::cancel
type: function
doc:
<comment>Description:</comment>
  Отменяет ожидающий HTTP-запрос
  
  Отменяет ожидающий HTTP-запрос.
  
  Отменяет текущий HTTP-запрос. Callback-функция, связанная с этим запросом, не выполнится, объект
  запроса освобождается. Если запрос в настоящее время обрабатывается, например, непрерывный запрос,
  соответствующий объект <class>EventHttpConnection</class> будет сброшен.
  
  Запрос не может быть отменён, если его callback-функция уже выполнена. Запрос может быть
  аннулирован повторно из его фрагментированной callback-функции.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpRequest::clearHeaders
type: function
doc:
<comment>Description:</comment>
  Удаляет все выходные заголовки из списка заголовков запроса
  
  Удаляет все выходные заголовки из списка заголовков запроса.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::closeConnection
type: function
doc:
<comment>Description:</comment>
  Закрывает связанное HTTP-соединение
  
  Закрывает связанное HTTP-соединение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpRequest::findHeader
type: function
doc:
<comment>Description:</comment>
  Получает значение заголовка
  
  Получает значение заголовка

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   Наименование заголовка.
  <info>string</info>  <strong>$type</strong>  Одна из констант <return>EventHttpRequest::*_HEADER</return> .

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>null</info>, если заголовок не найден.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::free
type: function
doc:
<comment>Description:</comment>
  Освобождает объект и удаляет связанные события
  
  Освобождает объект и удаляет связанные события.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventHttpRequest::getBufferEvent
type: function
doc:
<comment>Description:</comment>
  Возвращает объект EventBufferEvent
  
  Возвращает объект <class>EventBufferEvent</class>, представляющий буферное событие, которое использует
  соединение.
  
  Счётчик ссылок возвращаемого объекта будет увеличен на единицу для защиты внутренних структур от
  преждевременного разрушения при вызове метода из callback-функции пользователя. Таким образом,
  объект <class>EventBufferEvent</class> должен быть явно освобождён с помощью метода EventBufferEvent::free. В
  противном случае будет утечка памяти.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Возвращает объект <class>EventBufferEvent</class>.

<comment>See Also:</comment>
   * EventHttpRequest::getConnection


id: EventHttpRequest::getCommand
type: function
doc:
<comment>Description:</comment>
  Возвращает команду запроса (метод)
  
  Возвращает команду запроса, одну из констант <return>EventHttpRequest::CMD_*</return> .

<comment>Return:</comment>
  <info>void</info>  Возвращает команду запроса, одну из констант <return>EventHttpRequest::CMD_*</return> .


id: EventHttpRequest::getConnection
type: function
doc:
<comment>Description:</comment>
  Возвращает объект EventHttpConnection
  
  Возвращает объект <class>EventHttpConnection</class>, представляющий HTTP-соединение, связанное с запросом.
  
  Libevent API позволяет объектам HTTP-запроса не привязываться ни к какому HTTP-соединению. Поэтому
  мы не можем однозначно связать <class>EventHttpRequest</class> с <class>EventHttpConnection</class>. Таким образом, мы создаём
  объект <class>EventHttpConnection</class> на лету. Не имея информации о базе событий, базе DNS и
  callback-функциях при закрытии соединения, мы просто оставляем эти поля незаполненными.
  
  Метод EventHttpRequest::getConnection обычно полезен, когда нам нужно реализовать
  callback-функцию, при закрытии соединения. Смотрите EventHttpConnection::setCloseCallback.

<comment>Return:</comment>
  <info>EventHttpConnection</info>  Возвращает объект <class>EventHttpConnection</class>.

<comment>See Also:</comment>
   * EventHttpConnection::setCloseCallback
   * EventHttpRequest::getBufferEvent


id: EventHttpRequest::getHost
type: function
doc:
<comment>Description:</comment>
  Возвращает хост запроса
  
  Возвращает хост запроса.

<comment>Return:</comment>
  <info>string</info>  Возвращает хост запроса.

<comment>See Also:</comment>
   * EventHttpRequest::getUri
   * EventHttpRequest::getCommand


id: EventHttpRequest::getInputBuffer
type: function
doc:
<comment>Description:</comment>
  Возвращает входной буфер
  
  Возвращает входной буфер.

<comment>Return:</comment>
  <info>EventBuffer</info>  Возвращает входной буфер.

<comment>See Also:</comment>
   * EventHttpRequest::getOutputBuffer


id: EventHttpRequest::getInputHeaders
type: function
doc:
<comment>Description:</comment>
  Возвращает ассоциативный массив входных заголовков
  
  Возвращает ассоциативный массив входных заголовков.

<comment>Return:</comment>
  <info>array</info>  Возвращает ассоциативный массив входных заголовков.

<comment>See Also:</comment>
   * EventHttpRequest::getOutputHeaders


id: EventHttpRequest::getOutputBuffer
type: function
doc:
<comment>Description:</comment>
  Возвращает выходной буфер запроса
  
  Возвращает выходной буфер запроса.

<comment>Return:</comment>
  <info>EventBuffer</info>  Возвращает выходной буфер запроса.

<comment>See Also:</comment>
   * EventHttpRequest::getInputBuffer


id: EventHttpRequest::getOutputHeaders
type: function
doc:
<comment>Description:</comment>
  Возвращает ассоциативный массив выходных заголовков
  
  Возвращает ассоциативный массив выходных заголовков.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * EventHttpRequest::getInputHeaders


id: EventHttpRequest::getResponseCode
type: function
doc:
<comment>Description:</comment>
  Возвращает код ответа
  
  Возвращает код ответа.

<comment>Return:</comment>
  <info>int</info>  Возвращает код ответа запроса.

<comment>See Also:</comment>
   * EventHttpRequest::getCommand
   * EventHttpRequest::getHost
   * EventHttpRequest::getUri


id: EventHttpRequest::getUri
type: function
doc:
<comment>Description:</comment>
  Возвращает URI запроса
  
  Возвращает URI запроса

<comment>Return:</comment>
  <info>string</info>  Возвращает URI запроса

<comment>See Also:</comment>
   * EventHttpRequest::getCommand
   * EventHttpRequest::getHost
   * EventHttpRequest::getResponseCode


id: EventHttpRequest::removeHeader
type: function
doc:
<comment>Description:</comment>
  Удаляет заголовок HTTP из заголовков запроса
  
  Удаляет заголовок HTTP из заголовков запроса.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   Наименование заголовка.
  <info>string</info>  <strong>$type</strong>  <strong>$type</strong> одна из констант <return>EventHttpRequest::*_HEADER</return> .

<comment>Return:</comment>
  <info>void</info>  Удаляет заголовок HTTP из заголовков запроса.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::sendError
type: function
doc:
<comment>Description:</comment>
  Отправляет HTML-сообщение об ошибке клиенту
  
  Отправляет HTML-сообщение об ошибке клиенту.

<comment>Param:</comment>
  <info>int</info>     <strong>$error</strong>   HTTP-код ошибки.
  <info>string</info>  <strong>$reason</strong>  Краткое описание ошибки. Если <info>null</info>, будет использоваться стандартное значение
                   кода ошибки.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::sendReply


id: EventHttpRequest::sendReply
type: function
doc:
<comment>Description:</comment>
  Отправляет HTML-ответ клиенту
  
  Отправляет HTML0ответ клиенту. Тело ответа состоит из данных в необязательном параметре <strong>$buf</strong>.

<comment>Param:</comment>
  <info>int</info>          <strong>$code</strong>    Код ответа HTTP для отправки.
  <info>string</info>       <strong>$reason</strong>  Краткое сообщение для отправки с кодом ответа.
  <info>EventBuffer</info>  <strong>$buf</strong>     Тело ответа.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::sendError
   * EventHttpRequest::sendReplyChunk


id: EventHttpRequest::sendReplyChunk
type: function
doc:
<comment>Description:</comment>
  Отправляет блок данных, как часть текущего фрагментированного ответа
  
  Отправляет блок данных, как часть текущего фрагментированного ответа. После вызова этого метода,
  параметр <strong>$buf</strong> будет пустым.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Фрагмент данных для отправки, как часть ответа.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyStart
   * EventHttpRequest::sendReplyEnd


id: EventHttpRequest::sendReplyEnd
type: function
doc:
<comment>Description:</comment>
  Заполняет фрагментарный ответ, освобождая запрос соответствующим образом
  
  Заполняет фрагментарный ответ, освобождая запрос соответствующим образом.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyStart
   * EventHttpRequest::sendReplyChunk


id: EventHttpRequest::sendReplyStart
type: function
doc:
<comment>Description:</comment>
  Инициирует фрагментарный ответ
  
  Инициирует ответ, который использует <return>Transfer-Encoding</return> <return>chunked</return>.
  
  Это позволяет вызывающей стороне передавать ответ обратно клиенту. Это будет полезно, когда-либо
  не все данные ответа доступны сразу, либо при отправке очень больших ответов.
  
  Вызывающая сторона должна предоставить фрагменты данных с помощью EventHttpRequest::sendReplyChunk
  и завершить ответ, вызвав EventHttpRequest::sendReplyEnd.

<comment>Param:</comment>
  <info>int</info>     <strong>$code</strong>    Код ответа HTTP для отправки.
  <info>string</info>  <strong>$reason</strong>  Краткое сообщение для отправки с кодом ответа.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyChunk
   * EventHttpRequest::sendReplyEnd


id: EventListener::OPT_CLOSE_ON_EXEC
type: constant
doc:
<comment>Description:</comment>
  Если этот флаг установлен, слушатель соединения установит флаг close-on-exec на сокет. Смотрите
  документацию по <return>fcntl</return> и <info>FD_CLOEXEC</info> для вашей платформы.


id: EventListener::OPT_CLOSE_ON_FREE
type: constant
doc:
<comment>Description:</comment>
  Если этот флаг установлен, слушатель соединения закроет сокет когда объект <class>EventListener</class> будет
  уничтожен.


id: EventListener::OPT_LEAVE_SOCKETS_BLOCKING
type: constant
doc:
<comment>Description:</comment>
  по умолчанию, Libevent переключает нижележащий файловый дескриптор или сокет в неблокирующий
  режим. Этот флаг сообщает Libevent, что следует оставить их в блокирующем режиме.


id: EventListener::OPT_REUSEABLE
type: constant
doc:
<comment>Description:</comment>
  На некоторых платформах, по умолчанию, после закрытия сокета, другие сокеты не смогут привязаться
  к тому же порту, пока не пройдёт некоторое время. Данный флаг говорит Libevent помечать сокет как
  переиспользуемый, что позволит открывать другие сокеты на том же порту после его закрытия.


id: EventListener::OPT_THREADSAFE
type: constant
doc:
<comment>Description:</comment>
  Выделяет блокировки для слушателя, что позволяет безопасно использовать его в многопоточном
  варианте.


id: EventListener::__construct
type: function
doc:
<comment>Description:</comment>
  Создать новый слушатель соединения, связанный с событийной базой
  
  Создаёт новый слушатель соединения, связанный с событийной базой.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     Событийная база.
  <info>callable</info>   <strong>$cb</strong>       Callback-функция (<info>callable</info>), которая будет вызвана при получении соединения.
  <info>mixed</info>      <strong>$data</strong>     Пользовательские данные, которые будут передаваться в <strong>$cb</strong> .
  <info>int</info>        <strong>$flags</strong>    Битовая маска из констант <return>EventListener::OPT_*</return>. Смотрите константы
                       EventListener .
  <info>int</info>        <strong>$backlog</strong>  Устанавливает максимальное количество ожидающих соединений, которым, сетевым
                       стеком, позволено ожидать в состоянии ещё-не-принято. Более подробно смотрите
                       в документации по системной функции <return>listen</return>. Если значение <strong>$backlog</strong>
                       отрицательно, Libevent попытается самостоятельно выбрать наилучшее значение
                       для <strong>$backlog</strong>. Если равно нулю, Event будет считать, что <return>listen</return> уже вызвана на
                       сокете( <strong>$target</strong> )
  <info>mixed</info>      <strong>$target</strong>   Может быть строкой, ресурсом сокета или потоком, связанным с сокетом. Если
                       <strong>$target</strong> является строкой, то она будет разбираться как сетевой адрес. Она
                       будет интерпретироваться как путь сокета домена UNIX, если будет иметь
                       префикс <return>'unix:'</return> , например, <return>'unix:/tmp/my.sock'</return> .

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект <class>EventListener</class>, представляющий слушатель события соединения.


id: EventListener::disable
type: function
doc:
<comment>Description:</comment>
  Отключает событие подключения к объекту слушателя
  
  Отключает событие подключения к объекту слушателя

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventListener::enable


id: EventListener::enable
type: function
doc:
<comment>Description:</comment>
  Включает событие подключения к объекту слушателя
  
  Включает событие подключения к объекту слушателя

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * EventListener::disable


id: EventListener::getBase
type: function
doc:
<comment>Description:</comment>
  Возвращает базу событий, связанную со слушателем событий
  
  Возвращает базу событий, связанную со слушателем событий.

<comment>Return:</comment>
  <info>void</info>  Возвращает базу событий, связанную со слушателем событий.


id: EventListener::getSocketName
type: function
doc:
<comment>Description:</comment>
  Получает текущий адрес, к которому привязан сокет слушателя
  
  Получает текущий адрес, к которому привязан сокет слушателя.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Выходной параметр. IP-адрес в зависимости от семейства адресов сокетов.
  <info>mixed</info>   <strong>$port</strong>     Выходной параметр. Порт, к которому привязан сокет.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventListener::setCallback
type: function
doc:
<comment>Description:</comment>
  Цель setCallback
  
  Настройте callback-функцию слушателя события и, по необходимости, callback-аргумент.

<comment>Param:</comment>
  <info>callable</info>       <strong>$cb</strong>        Новая callback-функция для новых подключений. Игнорируется, если <info>null</info>.
                            
                            Должна соответствовать прототипу:
                            
                            <strong>$listener</strong> Объект <class>EventListener</class>. <strong>$fd</strong> Файловый дескриптор или ресурс,
                            связанный со слушателем. <strong>$address</strong> Массив из двух элементов: IP-адрес и
                            порт server. <strong>$arg</strong> Пользовательские данные, прикреплённые к
                            callback-функции.
                            
                            Объект <class>EventListener</class>.
                            
                            Файловый дескриптор или ресурс, связанный со слушателем.
                            
                            Массив из двух элементов: IP-адрес и порт server.
                            
                            Пользовательские данные, прикреплённые к callback-функции.
  <info>EventListener</info>  <strong>$listener</strong>  Объект <class>EventListener</class>.
  <info>mixed</info>          <strong>$fd</strong>        Файловый дескриптор или ресурс, связанный со слушателем.
  <info>array</info>          <strong>$address</strong>   Массив из двух элементов: IP-адрес и порт server.
  <info>mixed</info>          <strong>$arg</strong>       Пользовательские данные, прикреплённые к callback-функции.
  <info>mixed</info>          <strong>$arg</strong>       Пользовательские данные, прикреплённые к callback-функции. Игнорируется,
                            если <info>null</info>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: EventListener::setErrorCallback
type: function
doc:
<comment>Description:</comment>
  Устанавливает callback-функцию ошибки слушателя событий
  
  Устанавливает callback-функцию ошибки слушателя событий

<comment>Param:</comment>
  <info>string</info>         <strong>$cb</strong>        Callback-функция ошибки. Должна соответствовать следующему прототипу:
                            
                            <strong>$listener</strong> Объект <class>EventListener</class>. <strong>$data</strong> Пользовательские данные,
                            прикреплённые к callback-функции.
                            
                            Объект <class>EventListener</class>.
                            
                            Пользовательские данные, прикреплённые к callback-функции.
  <info>EventListener</info>  <strong>$listener</strong>  Объект <class>EventListener</class>.
  <info>mixed</info>          <strong>$data</strong>      Пользовательские данные, прикреплённые к callback-функции.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * EventListener::setCallback


id: EventSslContext
type: class
doc:
<comment>Description:</comment>
  Представляет структуру <return>SSL_CTX</return>. Предоставляет методы и свойства для настройки контекста SSL.


id: EventSslContext::OPT_ALLOW_SELF_SIGNED
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет опцию,
  разрешающую использовать самоподписанные сертификаты.


id: EventSslContext::OPT_CA_FILE
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет путь к
  файлу центра сертификации.


id: EventSslContext::OPT_CA_PATH
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет путь, по
  которому нужно искать файл центра сертификации.


id: EventSslContext::OPT_CIPHERS
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет список
  шифров для контекста SSL.


id: EventSslContext::OPT_LOCAL_CERT
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Опция указывает на путь
  локального сертификата.


id: EventSslContext::OPT_LOCAL_PK
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Опция указывает на путь
  локального приватного ключа.


id: EventSslContext::OPT_PASSPHRASE
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет пароль
  сертификата.


id: EventSslContext::OPT_VERIFY_DEPTH
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет
  максимальную глубину проверки цепочки сертификатов, допустимую для контекста SSL.


id: EventSslContext::OPT_VERIFY_PEER
type: constant
doc:
<comment>Description:</comment>
  Ключ элемента в массиве опций, переданном в EventSslContext::__construct . Представляет опцию,
  указывающую модулю Event проверять узлы.


id: EventSslContext::SSLv23_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод клиента SSLv23. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv23_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод сервера SSLv23. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv2_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод клиента SSLv2. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv2_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод сервера SSLv2. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv3_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод клиента SSLv3. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv3_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод сервера SSLv3. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::TLS_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод клиента TLS. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::TLS_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Метод сервера TLS. Смотрите руководство по <return>SSL_CTX_new(3)</return>.


id: EventSslContext::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор контекста OpenSSL для использования в классах Event
  
  Создаёт контекст SSL содержащий указатель на <return>SSL_CTX</return> (смотрите системное руководство).

<comment>Param:</comment>
  <info>string</info>  <strong>$method</strong>   Одна из констант <return>EventSslContext::*_METHOD</return> .
  <info>string</info>  <strong>$options</strong>  Ассоциативный массив опций контекста SSL. Константы <return>EventSslContext::OPT_*</return> .

<comment>Return:</comment>
  <info>unknown</info>  Возвращает объект <class>EventSslContext</class>.


id: EventUtil
type: class
doc:
<comment>Description:</comment>
  <class>EventUtil</class> - класс синглтон, содержащий вспомогательные методы и константы.


id: EventUtil::IPPROTO_IP
type: constant
doc:
<comment>Description:</comment>
  Смотрите руководство по <return>socket(7)</return>. (Добавлено в event-1.6.0.)


id: EventUtil::SOL_SOCKET
type: constant
doc:
<comment>Description:</comment>
  Опция сокета level. Смотрите руководство по <return>socket(7)</return>. (Добавлено в event-1.6.0.)


id: EventUtil::SO_BROADCAST
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Указывает, разрешена ли передача широковещательных сообщений. Смотрите руководство
  по <return>socket(7)</return>. (Добавлено в event-1.6.0.)


id: EventUtil::SO_DEBUG
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Разрешает отладку сокета. Допустимо только для процессов с возможностью
  <return>CAP_NET_ADMIN</return> или для пользователя с эффективным идентификатором <info>0</info> . (Добавлено в event-1.6.0.)


id: EventUtil::SO_DONTROUTE
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Смотрите руководство по <return>socket(7)</return>. (Добавлено в event-1.6.0.)


id: EventUtil::SO_KEEPALIVE
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Разрешает посылать сообщения keep-alive на сокетах, ориентированных на соединение.
  Ожидается целочисленный логический флаг. Смотрите руководство по <return>socket(7)</return>. (Добавлено в
  event-1.6.0.)


id: EventUtil::SO_LINGER
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Если разрешено, то вызовы <return>close(2)</return> или <return>shutdown(2)</return> не будут завершены, пока все
  сообщения в очереди для сокета не будут успешно отправлены, либо пока не будет превышено время
  ожидания. В противном случае вызов немедленно завершается, а закрытие выполняется в фоновом
  режиме. Смотрите руководство по <return>socket(7)</return>. (Добавлено в event-1.6.0.)


id: EventUtil::SO_REUSEADDR
type: constant
doc:
<comment>Description:</comment>
  Опция сокета. Указывает, что правила, используемые при проверке адресов, задаваемые в вызове
  <return>bind(2)</return> позволяют переиспользовать локальные адреса. Смотрите руководство по <return>socket(7)</return>. (Добавлено
  в event-1.6.0.)


id: EventUtil::__construct
type: function
doc:
<comment>Description:</comment>
  Абстрактный конструктор
  
  Класс <class>EventUtil</class> является синглтоном. Следовательно, создать объект этого класса с помощью
  конструктора невозможно.

<comment>Return:</comment>
  <info>unknown</info>  Функция не возвращает значения после выполнения.


id: EventUtil::getLastSocketErrno
type: function
doc:
<comment>Description:</comment>
  Получить номер последней возникшей ошибки сокета
  
  Возвращает номер последней возникшей ошибки сокета ( <return>errno</return> ).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ресурс сокета, потока или файловый дескриптор сокета.

<comment>Return:</comment>
  <info>int</info>  Возвращает номер последней возникшей ошибки сокета ( <return>errno</return> ).

<comment>See Also:</comment>
   * EventUtil::getLastSocketError


id: EventUtil::getLastSocketError
type: function
doc:
<comment>Description:</comment>
  Получить последнюю возникшую ошибку сокета
  
  Возвращает последнюю возникшую ошибку сокета.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ресурс сокета, потока или файловый дескриптор сокета.

<comment>Return:</comment>
  <info>string</info>  Возвращает последнюю возникшую ошибку сокета.

<comment>See Also:</comment>
   * EventUtil::getLastSocketErrno


id: EventUtil::getSocketFd
type: function
doc:
<comment>Description:</comment>
  Получить числовой файловый дескриптор сокета или потока
  
  Возвращает числовой файловый дескриптор сокета или потока, заданный параметром <strong>$socket</strong>, таким же
  образом как это делает модуль <return>Event</return> для всех методов, принимающих ресурсы сокета или потока.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ресурс сокета или потока.

<comment>Return:</comment>
  <info>int</info>  Возвращает числовой файловый дескриптор. EventUtil::getSocketFd возвращает <info>false</info>, если не
       удалось определить тип нижележащего файла, либо если файловый дескриптор, связанный с <strong>$socket</strong>
       некорректен.


id: EventUtil::getSocketName
type: function
doc:
<comment>Description:</comment>
  Получить текущий адрес, к которому привязан сокет
  
  Возвращает текущий адрес, к которому привязан сокет <strong>$socket</strong>.

<comment>Param:</comment>
  <info>mixed</info>   <strong>$socket</strong>   Ресурс сокета, потока или файловый дескриптор, связанный с сокетом.
  <info>string</info>  <strong>$address</strong>  Выходной параметр. IP-адрес либо путь к доменному сокету UNIX.
  <info>mixed</info>   <strong>$port</strong>     Выходной параметр. Порт, к которому привязан сокет. Не имеет смысла для доменных
                    сокетов UNIX.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: EventUtil::setSocketOption
type: function
doc:
<comment>Description:</comment>
  Установить опции сокета
  
  Устанавливает опции сокета.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>   Ресурс сокета, потока или файловый дескриптор, связанный с сокетом.
  <info>int</info>    <strong>$level</strong>    Одна из констант <return>EventUtil::SOL_*</return>. Задаёт уровень протокола, к которому относится
                   параметр. К примеру, для работы с уровнем сокета, параметр <strong>$level</strong> должен быть
                   выставлен как <info>EventUtil::SOL_SOCKET</info>. Прочие уровни, такие как TCP, можно
                   использовать указав соответствующую константу. Уровни протокола можно посмотреть
                   с помощью функции <strong>getprotobyname()</strong>. Смотрите константы EventUtil .
  <info>int</info>    <strong>$optname</strong>  Имя опции (тип). То же самое, что и соответствующий параметр функции
                   <strong>socket_get_option()</strong>. Смотрите константы EventUtil .
  <info>mixed</info>  <strong>$optval</strong>   Принимает те же значения, что и параметр <strong>$optval</strong> функции <strong>socket_get_option()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * <strong>socket_get_option()</strong>
   * <strong>socket_set_option()</strong>


id: EventUtil::sslRandPoll
type: function
doc:
<comment>Description:</comment>
  Сгенерировать энтропию с помощью RAND_poll() из OpenSSL
  
  Генерирует энтропию с помощью <return>RAND_poll()</return> из OpenSSL. (смотрите соответствующую документацию).

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Exception::__clone
type: function
doc:
<comment>Description:</comment>
  Клонировать исключение
  
  Исключения <class>Exception</class> не могут быть клонированы, а попытка сделать это выбросит ошибку <class>Error</class>.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: Exception::__construct
type: function
doc:
<comment>Description:</comment>
  Создать исключение
  
  Создаёт исключение.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Текст сообщения.
  <info>int</info>             <strong>$code</strong>      Код исключения.
  <info>Throwable|null</info>  <strong>$previous</strong>  Предыдущее исключение. Используется при создания цепочки исключений.


id: Exception::__toString
type: function
doc:
<comment>Description:</comment>
  Строковое представление исключения
  
  Возвращает исключение в виде строки (<info>string</info>).

<comment>Return:</comment>
  <info>string</info>  Возвращает исключение в виде строки (<info>string</info>).

<comment>See Also:</comment>
   * Throwable::__toString


id: Exception::getCode
type: function
doc:
<comment>Description:</comment>
  Получает код исключения
  
  Возвращает код исключения.

<comment>Return:</comment>
  <info>int</info>  Возвращает код исключения типа <info>int</info> у класса <class>Exception</class>, но у потомков класса <class>Exception</class> может
       быть другой тип (например, типа <info>string</info> в <class>PDOException</class>).

<comment>See Also:</comment>
   * Throwable::getCode


id: Exception::getFile
type: function
doc:
<comment>Description:</comment>
  Получает файл, в котором возникло исключение
  
  Получить имя файла, где исключение было создано.

<comment>Return:</comment>
  <info>string</info>  Возвращает имя файла, в котором исключение было создано.

<comment>See Also:</comment>
   * Throwable::getFile


id: Exception::getLine
type: function
doc:
<comment>Description:</comment>
  Получает строку, в которой возникло исключение
  
  Получить номер строки, где исключение было создано

<comment>Return:</comment>
  <info>int</info>  Возвращает номер строки, где было создано исключение.

<comment>See Also:</comment>
   * Throwable::getLine


id: Exception::getMessage
type: function
doc:
<comment>Description:</comment>
  Получает сообщение исключения
  
  Возвращает сообщение исключения.

<comment>Return:</comment>
  <info>string</info>  Возвращает сообщение исключения в виде строки.

<comment>See Also:</comment>
   * Throwable::getMessage


id: Exception::getPrevious
type: function
doc:
<comment>Description:</comment>
  Возвращает предыдущий объект, реализующий Throwable
  
  Возвращает предыдущий объект, реализующий <class>Throwable</class> (переданный третьим параметром в
  Exception::__construct).

<comment>Return:</comment>
  <info>Throwable|null</info>  Возвращает предыдущий объект, реализующий <class>Throwable</class> или <info>null</info>, если такового нет.

<comment>See Also:</comment>
   * Throwable::getPrevious


id: Exception::getTrace
type: function
doc:
<comment>Description:</comment>
  Получает трассировку стека
  
  Возвращает трассировку стека исключения.

<comment>Return:</comment>
  <info>array</info>  Возвращает трассировку стека исключения в виде массива (<info>array</info>).

<comment>See Also:</comment>
   * Throwable::getTrace


id: Exception::getTraceAsString
type: function
doc:
<comment>Description:</comment>
  Получает трассировку стека в виде строки
  
  Возвращает трассировку стека исключения в виде строки.

<comment>Return:</comment>
  <info>string</info>  Возвращает трассировку стека исключения в виде строки.

<comment>See Also:</comment>
   * Throwable::getTraceAsString


id: Executable::execute
type: function
doc:
<comment>Description:</comment>
  Выполняет утверждение
  
  Выполняет утверждение из операции сбора или запроса таблицы; эта функциональность разрешена для
  цепочки методов.

<comment>Return:</comment>
  <info>mysql_xdevapi\Result</info>  Один из объектов Result, например, Result или SqlStatementResult.


id: ExecutionStatus::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор класса ExecutionStatus
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.


id: Expression::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор класса Expression
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>string</info>  <strong>$expression</strong>  


id: FANNConnection
type: class
doc:
<comment>Description:</comment>
  <class>FANNConnection</class> используется для связи нейронной сети. Объекты этого класса используются в функциях
  <strong>fann_get_connection_array()</strong> и <strong>fann_set_weight_array()</strong>.


id: FANNConnection::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор связи
  
  Создаёт новую связь и инициализирует её параметры. После создания связи можно будет изменить
  только её вес.

<comment>Param:</comment>
  <info>int</info>    <strong>$from_neuron</strong>  Позиция стартового нейрона.
  <info>int</info>    <strong>$to_neuron</strong>    Позиция конечного нейрона.
  <info>float</info>  <strong>$weight</strong>       Вес связи.


id: FANNConnection::getFromNeuron
type: function
doc:
<comment>Description:</comment>
  Возвращает позицию стартового нейрона
  
  Возвращает позицию стартового нейрона.

<comment>Return:</comment>
  <info>int</info>  Позиция стартового нейрона.


id: FANNConnection::getToNeuron
type: function
doc:
<comment>Description:</comment>
  Возвращает позицию конечного нейрона
  
  Возвращает позицию конечного нейрона.

<comment>Return:</comment>
  <info>int</info>  Позиция конечного нейрона.


id: FANNConnection::getWeight
type: function
doc:
<comment>Description:</comment>
  Возвращает вес связи
  
  Возвращает вес связи.

<comment>Return:</comment>
  <info>void</info>  Вес связи.


id: FANNConnection::setWeight
type: function
doc:
<comment>Description:</comment>
  Устанавливает вес связи
  
  Устанавливает вес связи.
  
  Этот метод отличается от <strong>fann_set_weight()</strong>. Он не обновляет значения веса в сети. Значение в сети
  обновится только после вызова <strong>fann_set_weight_array()</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$weight</strong>  Вес связи.

<comment>Return:</comment>
  <info>void</info>  Не возвращает никакого значения.


id: FANN_ELLIOT
type: constant
doc:
<comment>Description:</comment>
  Быстрая (похожая на сигмоиду) функция активации, описанная Дэвидом Эллиотом.


id: FANN_ELLIOT_SYMMETRIC
type: constant
doc:
<comment>Description:</comment>
  Быстрая (похожая на симметричную сигмоиду) функция активации, описанная Дэвидом Эллиотом.


id: FANN_ERRORFUNC_TANH
type: constant
doc:
<comment>Description:</comment>
  Функция ошибки на основе гиперболического тангенса (tanh); обычно более качественное, но и более
  медленное обучение. Функция ошибки агрессивно нацелена на результаты сильно отличающиеся от
  ожидаемых, в то время, как результаты с небольшими отличиями не затрагиваются. Не рекомендуется
  для каскадного или инкрементального обучения.


id: FANN_SIGMOID_SYMMETRIC
type: constant
doc:
<comment>Description:</comment>
  Функция активации по симметричной сигмоиде, она же tanh (гиперболический тангенс).


id: FANN_STOPFUNC_BIT
type: constant
doc:
<comment>Description:</comment>
  Критерий остановки - это количество ошибочных бит. Количество ошибочных бит - это количество
  отдающих нейронов, количество ошибочных бит, которые более установленного предела (смотрите
  fann_get_bit_fail_limit, fann_set_bit_fail_limit). Биты считаются во всех обучающих данных, так
  что это число может быть больше количества обучающих данных.


id: FANN_STOPFUNC_MSE
type: constant
doc:
<comment>Description:</comment>
  Критерий остановки - это значение среднеквадратичной ошибки (Mean Square Error или MSE).


id: FANN_TRAIN_BATCH
type: constant
doc:
<comment>Description:</comment>
  Стандартный алгоритм обратного распространения ошибки, в котором веса обновляются после вычисления
  среднеквадратичной погрешности на всем обучающем наборе. Это означает, что веса обновляются всего
  один раз в течение одной эпохи. Это приводит к тому, что для некоторых задач обучение будет
  происходить медленнее. С другой стороны, вычисление среднеквадратичной погрешности более
  корректно, нежели чем в инкрементальном обучении, что позволяет получить более качественную сеть.


id: FANN_TRAIN_INCREMENTAL
type: constant
doc:
<comment>Description:</comment>
  Стандартный алгоритм обратного распространения ошибки, в котором веса обновляются после каждого
  обучающего шаблона. Это означает, что веса обновляются множество раз в течение одной эпохи. Это
  приводит к тому, что для некоторых задач обучение будет происходить очень быстро, в то время как с
  более сложными задачами обучение не будет давать нужного качества.


id: FANN_TRAIN_QUICKPROP
type: constant
doc:
<comment>Description:</comment>
  Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов для многих
  задач. Алгоритм quickprop использует параметр learning_rate наряду с другими параметрами, но
  изменять эти параметры рекомендуется только если вы понимаете, что делаете. Обучающий алгоритм
  quickprop описан Фальманом в 1988 г.


id: FANN_TRAIN_RPROP
type: constant
doc:
<comment>Description:</comment>
  Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов для многих
  задач. Обучающий алгоритм RPROP является адаптивным и, следовательно, не использует learning_rate.
  Тем не менее можно установить некоторые другие параметры для изменения работы алгоритма RPROP, но
  это рекомендуется делать только тем, кто понимает принципы работы этого алгоритма. Обучающий
  алгоритм RPROP описан Редмиллером и Брауном в 1993 г., но тут используется обучающий алгоритм
  iRPROP, описанный Игелем и Хаскиным в 2000 г., который является вариантом стандартного алгоритма
  RPROP.


id: FFI
type: class
doc:
<comment>Description:</comment>
  Объекты этого класса создаются фабричными методами FFI::cdef, FFI::load и FFI::scope. Объявленные
  переменные C доступны как свойства экземпляра FFI, а функции как его методы. Объявленные типы C
  можно использовать для создания структур данных с помощью FFI::new и FFI::type.
  
  Разбор объявлений FFI и загрузка разделяемой библиотеки может занять значительное время. Не имеет
  смысла делать это для каждого HTTP-запроса в окружении Web. Тем не менее можно перезагрузить
  объявления FFI и библиотеки при старте PHP и инстанциировать объекты FFI по необходимости.
  Заголовочные файлы могут быть расширены специальными объявлениями <return>FFI_SCOPE</return> (например, #define
  FFI_SCOPE "foo"; скоуп по умолчанию "C") и загружены с помощью FFI::load во время предзагрузки.
  Это приведёт к созданию постоянных привязок, которые будут доступны для всех запросов через
  FFI::scope. Более подробно читайте на странице Простые примеры использования FFI.
  
  В один и тот же скоуп можно загрузить несколько заголовочных файлов.


id: FFI::addr
type: function
doc:
<comment>Description:</comment>
  Создаёт неуправляемый указатель на данные C
  
  Создаёт неуправляемый указатель на данные C, представленные заданным <class>FFI\CData</class>. Исходный <strong>$ptr</strong>
  должен пережить результирующий указатель. Эта функция используется главным образом для передачи
  аргументов в функцию C по указателю.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Дескриптор неуправляемого указателя на структуру данных.

<comment>Return:</comment>
  <info>FFI\CData</info>  Возвращает новый объект <class>FFI\CData</class>.


id: FFI::alignof
type: function
doc:
<comment>Description:</comment>
  Возвращает величину выравнивания
  
  Возвращает величину выравнивания объектов <class>FFI\CData</class> или <class>FFI\CType</class>.

<comment>Param:</comment>
  <info>FFI\CData|FFI\CType</info>  <strong>$ptr</strong>  Дескриптор указателя на данные или тип C.

<comment>Return:</comment>
  <info>int</info>  Возвращает величину выравнивания объектов <class>FFI\CData</class> или <class>FFI\CType</class>.


id: FFI::arrayType
type: function
doc:
<comment>Description:</comment>
  Динамически конструирует новый тип С массива
  
  Динамически конструирует новый тип С массива с элементами типа <strong>$type</strong> и размерностями, заданными в
  <strong>$dimensions</strong>. В следующем примере $t1 и $t2 определяют массивы одинакового типа:
  ]]>

<comment>Param:</comment>
  <info>FFI\CType</info>  <strong>$type</strong>        Корректная декларация типа С, например <info>string</info>, или заранее созданный
                          объект класса <class>FFI\CType</class>.
  <info>array</info>      <strong>$dimensions</strong>  Массив, определяющий размерность типа.

<comment>Return:</comment>
  <info>FFI\CType</info>  Возвращает новый объект <class>FFI\CType</class>.


id: FFI::cast
type: function
doc:
<comment>Description:</comment>
  Производит преобразование типа C
  
  FFI::cast создаёт новый объект класса <class>FFI\CData</class>, который указывает на ту же структуру C, но
  ассоциирован с другим типом. Полученный объект не становится владельцем данных, так что исходный
  указатель <strong>$ptr</strong> должен оставаться живым дольше полученного объекта. Тип C должен быть задан как
  строка, содержащая имя любого корректного типа С, либо как объект <class>FFI\CType</class>. Если метод вызывается
  статически, то можно использовать только предопределённые имена типов С (например, <return>int</return>, <return>char</return>,
  etc.); если метод вызывается как метод объекта, то допустимы любые определённые для него типы.

<comment>Param:</comment>
  <info>FFI\CType|string</info>               <strong>$type</strong>  Строка с именем типа С или объект класса <class>FFI\CType</class>.
  <info>FFI\CData|int|float|bool|null</info>  <strong>$ptr</strong>   Дескриптор указателя на структуру данных С.

<comment>Return:</comment>
  <info>FFI\CData|null</info>  Возвращает новый объект <class>FFI\CData</class>.


id: FFI::cdef
type: function
doc:
<comment>Description:</comment>
  Создаёт новый объект FFI
  
  Создаёт новый объект FFI.

<comment>Param:</comment>
  <info>string</info>       <strong>$code</strong>  Строка, содержащая последовательность деклараций на языке С (типы, структуры,
                      функции, переменные и т.д.). Фактически можно скопировать кусок заголовочного
                      файла С.
                      
                      Директивы сопроцессора С не поддерживаются. Т.е. #include, #define и макросы
                      CPP работать не будут.
  <info>string|null</info>  <strong>$lib</strong>   Имя файла библиотеки, который будет загружен и связан с заданными
                      декларациями.
                      
                      Если параметр <strong>$lib</strong> не задан или <info>null</info>, то для платформ, поддерживающих
                      <return>RTLD_DEFAULT</return>, будет произведён поиск задекларированных в <strong>$code</strong> сущностей в
                      глобальной области видимости. Для прочих платформ произвести привязку не
                      получится.

<comment>Return:</comment>
  <info>FFI</info>  Возвращает новый объект <class>FFI</class>.


id: FFI::free
type: function
doc:
<comment>Description:</comment>
  Высвобождает неуправляемую структуру данных
  
  Высвобождает созданную ранее неуправляемую структуру данных.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Дескриптор неуправляемого указателя на структуру данных.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: FFI::isNull
type: function
doc:
<comment>Description:</comment>
  Проверяет, является ли FFI\CData нулевым указателем
  
  Проверяет, является ли FFI\CData нулевым указателем.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Указатель на структуру данных C.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> или <info>false</info> в зависимости от того, является ли <class>FFI\CData</class> нулевым указателем.


id: FFI::load
type: function
doc:
<comment>Description:</comment>
  Загрузить декларации C из заголовочного файла
  
  Загружает декларации C из заголовочного файла. Можно указать общие библиотеки для загрузки с
  помощью специальной <return>#define</return> директивы <return>FFI_LIB</return> в заголовочном файле.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Имя заголовочного файла C.
                     
                     Директивы сопроцессора С не поддерживаются. Т.е. #include, #define и макросы
                     CPP работать не будут, за исключением особых случаев, перечисленных ниже.
                     
                     Заголовочный файл должен содержать оператор <return>#define</return> для переменной <return>FFI_SCOPE</return>,
                     например, #define FFI_SCOPE "MYLIB". За подробностями обратитесь к Введению в
                     FFI.
                     
                     Заголовочный файл может содержать оператор <return>#define</return> для переменной <return>FFI_LIB</return>,
                     чтобы указать библиотеку, которую он раскрывает. Если это системная библиотека,
                     требуется только имя файла, например:
                     #define FFI_LIB "libc.so.6".  Если это пользовательская библиотека, требуется
                     относительный путь, например: #define FFI_LIB "./mylib.so".

<comment>Return:</comment>
  <info>FFI|null</info>  Возвращает новый объект <class>FFI</class> или <info>null</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * FFI::scope


id: FFI::memcmp
type: function
doc:
<comment>Description:</comment>
  Сравнивает две области памяти
  
  Сравнивает полученный в параметре <strong>$size</strong> размер байтов из областей памяти по указателям <strong>$ptr1</strong> и
  <strong>$ptr2</strong>. И <strong>$ptr1</strong>, и <strong>$ptr2</strong> могут быть любыми нативными структурами данных (<class>FFI\CData</class>), либо строками
  PHP.

<comment>Param:</comment>
  <info>string|FFI\CData</info>  <strong>$ptr1</strong>  Указатель на первую область памяти.
  <info>string|FFI\CData</info>  <strong>$ptr2</strong>  Указатель на вторую область памяти.
  <info>int</info>               <strong>$size</strong>  Количество байтов для сравнения.

<comment>Return:</comment>
  <info>int</info>  Возвращает значение меньше <return>0</return>, если содержимое области памяти от указателя в параметре <strong>$ptr1</strong>
       меньше, чем содержимое области памяти от указателя в параметре <strong>$ptr2</strong>, значение больше <return>0</return>, если
       содержимое первой области памяти больше второй, и <return>0</return>, если если они равны.


id: FFI::memcpy
type: function
doc:
<comment>Description:</comment>
  Копирует содержимое одной области памяти в другую
  
  Копирует <strong>$size</strong> байт из области памяти <strong>$from</strong> в область памяти <strong>$to</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>         <strong>$to</strong>    Целевая область памяти.
  <info>FFI\CData|string</info>  <strong>$from</strong>  Область памяти, откуда будет происходить копирование.
  <info>int</info>               <strong>$size</strong>  Количество байт для копирования.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: FFI::memset
type: function
doc:
<comment>Description:</comment>
  Заполнить область памяти
  
  Заполняет <strong>$size</strong> байт памяти по указателю <strong>$ptr</strong> значением <strong>$value</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>    Указатель на начало участка памяти.
  <info>int</info>        <strong>$value</strong>  Значение для заполнения.
  <info>int</info>        <strong>$size</strong>   Количество байт, которые будут заполнены.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: FFI::new
type: function
doc:
<comment>Description:</comment>
  Создаёт структуру данных C
  
  Создаёт нативную структуру данных заданного типа. При статическом вызове данного метода необходимо
  использовать только предопределённые имена типов С (такие как <return>int</return>, <return>char</return>, и т.д.); при вызове как
  метод объекта, допустим любой тип объявленный для него.

<comment>Param:</comment>
  <info>FFI\CType|string</info>  <strong>$type</strong>        <strong>$type</strong> - корректная декларация типа С, например, <info>string</info> или заранее
                                 созданный объект класса <class>FFI\CType</class>.
  <info>bool</info>              <strong>$owned</strong>       Создавать ли управляемые или неуправляемые данные. Управляемые
                                 данные живут в связке с возвращённым объектом <class>FFI\CData</class> и
                                 высвобождается когда стандартный подсчёт ссылок PHP или GC (сборщик
                                 мусора) освободят последнюю ссылку на этот объект. Неуправляемые
                                 данные необходимо высвобождать вручную с помощью FFI::free.
  <info>bool</info>              <strong>$persistent</strong>  Располагать ли данные на постоянной основе к системной куче(heap)
                                 (используя <strong>malloc()</strong>), или в куче запроса PHP (используя <strong>emalloc()</strong>).

<comment>Return:</comment>
  <info>FFI\CData|null</info>  Возвращает новый объект <class>FFI\CData</class> или <info>null</info> в случае возникновения ошибки.


id: FFI::scope
type: function
doc:
<comment>Description:</comment>
  Инстанциирует объект FFI в соответствии с декларацией
     С, разобранной на этапе предзагрузки
  
  Инстанциирует объект FFI в соответствии с декларацией С, разобранной на этапе предзагрузки.
  
  Метод FFI::scope можно многократно вызывать для одного и того же контекста. Множество ссылок на
  один и тот же контекст могут быть загружены одновременно.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Имя скоупа, заданного с помощью специальной <return>#define</return> директивы <return>FFI_SCOPE</return>.

<comment>Return:</comment>
  <info>FFI</info>  Возвращает новый объект <class>FFI</class>.

<comment>See Also:</comment>
   * FFI::load


id: FFI::sizeof
type: function
doc:
<comment>Description:</comment>
  Возвращает размер данных или типа C
  
  Возвращает размер объектов <class>FFI\CData</class> или <class>FFI\CType</class>.

<comment>Param:</comment>
  <info>FFI\CData|FFI\CType</info>  <strong>$ptr</strong>  Дескриптор указателя на тип или данные C.

<comment>Return:</comment>
  <info>int</info>  Размер области памяти, на который указывает <strong>$ptr</strong>.


id: FFI::string
type: function
doc:
<comment>Description:</comment>
  Создаёт строку PHP из области памяти
  
  Создаёт переменную PHP типа <info>string</info> из <strong>$size</strong> байт памяти, начиная с адреса по указателю <strong>$ptr</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>   Начало участка памяти, из которой будет создаваться строка.
  <info>int|null</info>   <strong>$size</strong>  Количество байт для копирования в строку. Если параметр <strong>$size</strong> не задан или <info>null</info>,
                    то <strong>$ptr</strong> должен указывать на массив C типа <return>char</return>, завершающийся нулевым байтом.

<comment>Return:</comment>
  <info>string</info>  Строка PHP.


id: FFI::type
type: function
doc:
<comment>Description:</comment>
  Создаёт объект FFI\CType из декларации С
  
  Функция создаёт и возвращает объект <class>FFI\CType</class> для заданной строки, содержащей декларацию типа С.
  Если метод вызывается статически, то можно использовать только предопределённые имена типов С
  (например, <return>int</return>, <return>char</return>, и т.д.); если метод вызывается как метод объекта, то допустимы любые
  определённые для него типы.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>  Корректная декларация типа C в качестве строки (<info>string</info>).

<comment>Return:</comment>
  <info>FFI\CType|null</info>  Возвращает новый объект <class>FFI\CType</class> или <info>null</info> в случае возникновения ошибки.


id: FFI::typeof
type: function
doc:
<comment>Description:</comment>
  Получает FFI\CType для FFI\CData
  
  Возвращает объект <class>FFI\CType</class>, представляющий тип объекта <class>FFI\CData</class>.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Указатель на структуру данных C.

<comment>Return:</comment>
  <info>FFI\CType</info>  Возвращает объект <class>FFI\CType</class>, представляющий тип объекта <class>FFI\CData</class>.


id: FFI\CData
type: class
doc:
<comment>Description:</comment>
  Объекты <class>FFI\CData</class> могут использоваться множеством разных способов как обычные данные PHP:  Данные
  C скалярных типов могут читаться и присваиваться через свойство $cdata: $x = FFI::new('int');
  $x-&gt;cdata = 42;  Поля структур(struct) и объединений(union) C доступны как обычные свойства
  объекта PHP: $cdata-&gt;field  Доступ к элементам массивов C происходит так же, как доступ к
  элементам обычного массива PHP: $cdata[$offset]  Массивы C можно перебирать с помощью foreach.
  Для массивов C можно использовать функцию <strong>count()</strong>.  Указатели C могут быть разыменованы как
  массив: $cdata[0]  Указатели C можно сравнивать обычными операторами сравнения (\<, \<=, ==, !=, &gt;=, &gt;).  Для указателей C можно использовать операции инкремента и декремента +/-/ ++/–-: $cdata += 5  Указатели C можно вычитать друг из друга с помощью операции -.  Указатели на функции можно вызывать как обычные замыкания PHP: $cdata()  Любые данные C можно клонировать с помощью clone: $cdata2 = clone $cdata;  Любые данные C можно визуализировать с помощью <strong>var_dump()</strong>, <strong>print_r()</strong>,  и т.д.   Обратите внимание, что для экземпляров <class>FFI\CData</class> не поддерживаются функции <strong>isset()</strong>, <strong>empty()</strong> и <strong>unset()</strong>. А для тех, что оборачивают структуры и объединения не реализован интерфейс Traversable.
  
  Данные C скалярных типов могут читаться и присваиваться через свойство $cdata: $x =
  FFI::new('int'); $x-&gt;cdata = 42;
  
  Поля структур(struct) и объединений(union) C доступны как обычные свойства объекта PHP:
  $cdata-&gt;field
  
  Доступ к элементам массивов C происходит так же, как доступ к элементам обычного массива PHP:
  $cdata[$offset]
  
  Массивы C можно перебирать с помощью foreach.
  
  Для массивов C можно использовать функцию <strong>count()</strong>.
  
  Указатели C могут быть разыменованы как массив: $cdata[0]
  
  Указатели C можно сравнивать обычными операторами сравнения (\<, \<=, ==, !=, &gt;=, &gt;).
  
  Для указателей C можно использовать операции инкремента и декремента +/-/ ++/–-: $cdata += 5
  
  Указатели C можно вычитать друг из друга с помощью операции -.
  
  Указатели на функции можно вызывать как обычные замыкания PHP: $cdata()
  
  Любые данные C можно клонировать с помощью clone: $cdata2 = clone $cdata;
  
  Любые данные C можно визуализировать с помощью <strong>var_dump()</strong>, <strong>print_r()</strong>,  и т.д.
  
  Обратите внимание, что для экземпляров <class>FFI\CData</class> не поддерживаются функции <strong>isset()</strong>, <strong>empty()</strong> и
  <strong>unset()</strong>. А для тех, что оборачивают структуры и объединения не реализован интерфейс Traversable.


id: FFI\CType::getAlignment
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>int</info>  


id: FFI\CType::getArrayElementType
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FFI\CType::getFuncParameterType
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FFI\CType::getName
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>string</info>  


id: FFI\CType::getStructFieldNames
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>array</info>  


id: FFI\CType::getStructFieldOffset
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>int</info>  


id: FFI\CType::getStructFieldType
type: function
doc:
<comment>Description:</comment>
  Описание
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FILEINFO_COMPRESS
type: constant
doc:
<comment>Description:</comment>
  Распаковывать запакованные файлы.
  
  Отключено по соображениям безопасности.


id: FILEINFO_EXTENSION
type: constant
doc:
<comment>Description:</comment>
  Возвращает расширение файла, соответствующее для MIME-типа этого файла.
  
  Для типов, которые имеют несколько расширений файлов, таких как <return>JPEG</return>-изображений, возвращаемое
  значение будет состоять из нескольких расширений, разделённых слешем, например
  <return>"jpeg/jpg/jpe/jfif"</return>. Для неизвестных типов, недоступных в базе данных magic.mime, возвращаемое
  значение будет <return>"???"</return>.
  
  Доступно с PHP 7.2.0.


id: FILEINFO_RAW
type: constant
doc:
<comment>Description:</comment>
  Не переводить непечатные символы в <return>\ooo</return> восьмеричное представление.


id: FILE_BINARY
type: constant
doc:
<comment>Description:</comment>
  Бинарный режим.  Данная константа ни на что не влияет и доступна только для последующей
  совместимости (<return>forward compatibility</return>).
  
  Данная константа ни на что не влияет и доступна только для последующей совместимости (<return>forward
  compatibility</return>).


id: FILE_TEXT
type: constant
doc:
<comment>Description:</comment>
  Текстовый режим.  Данная константа ни на что не влияет и доступна только для последующей
  совместимости (<return>forward compatibility</return>).
  
  Данная константа ни на что не влияет и доступна только для последующей совместимости (<return>forward
  compatibility</return>).


id: FILTER_DEFAULT
type: constant
doc:
<comment>Description:</comment>
  Идентификатор фильтра по умолчанию ("unsafe_raw"). Эквивалентно <info>FILTER_UNSAFE_RAW</info>.


id: FILTER_FLAG_ALLOW_HEX
type: constant
doc:
<comment>Description:</comment>
  Разрешить шестнадцатеричную запись (<return>0x[0-9a-fA-F]+</return>) в фильтре "int".


id: FILTER_FLAG_ALLOW_OCTAL
type: constant
doc:
<comment>Description:</comment>
  Разрешить восьмеричную запись (<return>0[0-7]+</return>) в фильтре "int".


id: FILTER_FLAG_ALLOW_SCIENTIFIC
type: constant
doc:
<comment>Description:</comment>
  Разрешить научную запись (<return>e</return>, <return>E</return>) в фильтре "number_float".


id: FILTER_FLAG_ALLOW_THOUSAND
type: constant
doc:
<comment>Description:</comment>
  Разрешить разделитель (<return>,</return>) в фильтре "number_float".


id: FILTER_FLAG_EMAIL_UNICODE
type: constant
doc:
<comment>Description:</comment>
  Принимать Unicode в локальной части фильтра "validate_email". (Доступно с PHP 7.1.0)


id: FILTER_FLAG_HOSTNAME
type: constant
doc:
<comment>Description:</comment>
  Требовать, чтобы имена хостов начинались с буквенно-цифровых символов и содержали только
  буквенно-цифровые символы или дефисы. (Доступно с PHP 7.0.0)


id: FILTER_FLAG_HOST_REQUIRED
type: constant
doc:
<comment>Description:</comment>
  Требовать наличие хоста в фильтре "validate_url". (Объявлен устаревшим, начиная с PHP 7.3.0 и
  удалён в PHP 8.0.0, так как это и так подразумевается в фильтре).


id: FILTER_FLAG_SCHEME_REQUIRED
type: constant
doc:
<comment>Description:</comment>
  Требовать наличие схемы в фильтре "validate_url". (Объявлен устаревшим, начиная с PHP 7.3.0 и
  удалён в PHP 8.0.0, так как это и так подразумевается в фильтре).


id: FILTER_REQUIRE_SCALAR
type: constant
doc:
<comment>Description:</comment>
  Флаг используется для указания необходимости скалярного значения в качестве входного значения.


id: FILTER_SANITIZE_MAGIC_QUOTES
type: constant
doc:
<comment>Description:</comment>
  Идентификатор фильтра "magic_quotes". (УСТАРЕЛ с PHP 7.3.0 и УДАЛЁН с PHP 8.0.0, используйте
  вместо него <info>FILTER_SANITIZE_ADD_SLASHES</info>.)


id: FILTER_SANITIZE_STRING
type: constant
doc:
<comment>Description:</comment>
  Идентификатор фильтра "string". (Объявлен устаревшим, начиная с PHP 8.1.0, используйте вместо него
  функцию <strong>htmlspecialchars()</strong>).


id: FILTER_SANITIZE_STRIPPED
type: constant
doc:
<comment>Description:</comment>
  Идентификатор фильтра "stripped". (Объявлен устаревшим, начиная с PHP 8.1.0, используйте вместо
  него функцию <strong>htmlspecialchars()</strong>).


id: FNM_PERIOD
type: constant
doc:
<comment>Description:</comment>
  Ведущая точка в строке должна точно совпадать с точкой в указанном шаблоне.


id: FTP\Connection
type: class
doc:
<comment>Description:</comment>
  Полностью непрозрачный класс, заменяющий ресурс <return>ftp</return> в PHP 8.1.0.


id: FTP_AUTORESUME
type: constant
doc:
<comment>Description:</comment>
  Автоматическое определение позиции старта и возобновления запросов PUT и GET (работает только если
  разрешён FTP_AUTOSEEK)


id: FTP_USEPASVADDRESS
type: constant
doc:
<comment>Description:</comment>
  Смотрите описание к функции <strong>ftp_set_option()</strong> для получения информации.


id: FT_INTERNAL
type: constant
doc:
<comment>Description:</comment>
  Возвращаемая строка во внутреннем формате. Не будет канонизирована к виду CRLF.


id: Fiber
type: class
doc:
<comment>Description:</comment>
  Файберы представляют собой прерываемые функции полного цикла. Файберы могут быть приостановлены из
  любого места цикла, приостанавливая выполнение в файбере до тех пор, пока файбер не будет
  возобновлён в будущем.


id: Fiber::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый экземпляр Fiber

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>callable</info>-функция для вызова при запуске файбера. Аргументы для Fiber::start
                       будут предоставляется в качестве аргументов для данного вызываемого объекта.


id: Fiber::getCurrent
type: function
doc:
<comment>Description:</comment>
  Получает текущий выполняющийся экземпляр Fiber

<comment>Return:</comment>
  <info>Fiber|null</info>  Возвращает выполняющийся в данный момент экземпляр <class>Fiber</class> или <info>null</info>, если метод
              вызывается извне файбера.


id: Fiber::getReturn
type: function
doc:
<comment>Description:</comment>
  Получает значение, возвращаемое файбером

<comment>Return:</comment>
  <info>mixed</info>  Возвращает значение, возвращаемое <info>callable</info>-функцией, предоставленной в Fiber::__construct.
         Если файбер не вернул значение, либо потому, что он не было запущен, либо не был завершён,
         либо выбросил исключение, будет выброшено исключение <class>FiberError</class>.


id: Fiber::isRunning
type: function
doc:
<comment>Description:</comment>
  Определяет, работает ли файбер

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> только если файбер работает. Файбер считается работающим после вызова
        Fiber::start, Fiber::resume или Fiber::throw, который ещё не был возвращён. Возвращает
        <info>false</info>, если файбер не работает.


id: Fiber::isStarted
type: function
doc:
<comment>Description:</comment>
  Определяет, запущен ли файбер

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> только после того, как файбер был запущен, в противном случае возвращает
        <info>false</info>.


id: Fiber::isSuspended
type: function
doc:
<comment>Description:</comment>
  Определяет, приостановлен ли файбер

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info>, если файбер в данный момент приостановлен, в противном случае возвращает
        <info>false</info>.


id: Fiber::isTerminated
type: function
doc:
<comment>Description:</comment>
  Определяет, завершён ли файбер

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> только после того, как файбер завершился, либо путём возврата, либо выбросив
        исключение, в противном случае возвращает <info>false</info>.


id: Fiber::resume
type: function
doc:
<comment>Description:</comment>
  Возобновляет выполнение файбера со значением
  
  Возобновляет файбер, используя заданное значение в результате текущего вызова Fiber::suspend.
  
  Если файбер не приостановлен при вызове метода, будет выброшена ошибка <class>FiberError</class>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  Значение для возобновления файбера. Значение будет возвращаемым значением текущего
                 вызова Fiber::suspend.

<comment>Return:</comment>
  <info>mixed</info>  Значение, предоставленное для следующего вызова Fiber::suspend или <info>null</info> в случае возврата
         файбера. Если файбер выбросил исключение перед приостановкой, оно будет выброшено из вызова
         этого метода.


id: Fiber::start
type: function
doc:
<comment>Description:</comment>
  Начинает выполнение файбера
  
  Переменный список аргументов, передаваемый вызываемому объекту, используемый при построении
  файбера.
  
  Если при вызове метода файбер уже был запущен, будет выброшено <class>FiberError</class>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$args</strong>  Аргументы, которые следует использовать при вызове вызываемого объекта,
                передаваемого конструктору файбера.

<comment>Return:</comment>
  <info>mixed</info>  Значение, предоставленное при первом вызове Fiber::suspend или <info>null</info> в случае возврата
         файбера. Если файбер выбросил исключение перед приостановкой, оно будет выброшено из вызова
         этого метода.


id: Fiber::suspend
type: function
doc:
<comment>Description:</comment>
  Приостанавливает выполнение текущего файбера
  
  Приостанавливает выполнение текущего файбера. Значение, предоставленное этому методу, будет
  возвращено из вызова Fiber::start, Fiber::resume или Fiber::throw, который переключил выполнение
  текущего файбера.
  
  Когда выполнение файбера возобновляется, метод возвращает значение, предоставленное в
  Fiber::resume. Если выполнение файбера возобновляется с использованием Fiber::throw, исключение,
  переданное этому методу, будет выброшено при вызове метода.
  
  Если этот метод вызывается извне файбера, будет выброшена ошибка <class>FiberError</class>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  Значение, возвращаемое при вызове Fiber::start, Fiber::resume или Fiber::throw,
                 которые переключают выполнение текущего файбера.

<comment>Return:</comment>
  <info>mixed</info>  Значение, предоставленное Fiber::resume.


id: Fiber::throw
type: function
doc:
<comment>Description:</comment>
  Возобновляет выполнение файбера с исключением
  
  Возобновляет выполнение файбера, выбрасывая данное исключение из текущего вызова Fiber::suspend.
  
  Если файбер не приостановлен при вызове метода, будет выброшена ошибка <class>FiberError</class>.

<comment>Param:</comment>
  <info>Throwable</info>  <strong>$exception</strong>  Исключение, которое нужно передать в файбер из текущего вызова
                         Fiber::suspend.

<comment>Return:</comment>
  <info>mixed</info>  Значение, предоставленное при первом вызове Fiber::suspend или <info>null</info> в случае возврата
         файбера. Если файбер выбросил исключение перед приостановкой, оно будет выброшено из вызова
         этого метода.


id: FilesystemIterator::CURRENT_AS_FILEINFO
type: constant
doc:
<comment>Description:</comment>
  Заставляет метод FilesystemIterator::current вернуть экземпляр <class>SplFileInfo</class>.


id: FilesystemIterator::CURRENT_AS_SELF
type: constant
doc:
<comment>Description:</comment>
  Заставляет метод FilesystemIterator::current вернуть $this (FilesystemIterator).


id: FilesystemIterator::FOLLOW_SYMLINKS
type: constant
doc:
<comment>Description:</comment>
  Заставляет метод RecursiveDirectoryIterator::hasChildren следовать символическим ссылкам.


id: FilesystemIterator::NEW_CURRENT_AND_KEY
type: constant
doc:
<comment>Description:</comment>
  То же, что <return>FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO</return>.


id: FilesystemIterator::OTHER_MODE_MASK
type: constant
doc:
<comment>Description:</comment>
  Маска используется для FilesystemIterator::getFlags и FilesystemIterator::setFlags.


id: FilesystemIterator::SKIP_DOTS
type: constant
doc:
<comment>Description:</comment>
  Пропускает точечные файлы (<return>.</return> и <return>..</return>).


id: FilesystemIterator::UNIX_PATHS
type: constant
doc:
<comment>Description:</comment>
  Заставляет все пути использовать обратный слеш в Unix-стиле, независимо от настроек системы по
  умолчанию. Обратите внимание, что <strong>$path</strong>, переданный в конструктор, не меняется.


id: FilesystemIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт новый итератор файловой системы
    
  
  Создаёт новый объект итератора файловой системы на основе аргумента <strong>$directory</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  Путь к объекту файловой системы по которому требуется навигация.
  <info>int</info>     <strong>$flags</strong>      Поведение некоторых методов можно задать с помощью флагов. Список этих флагов
                      можно найти на странице предопределённых констант FilesystemIterator. Также их
                      можно задать позже методом FilesystemIterator::setFlags.

<comment>See Also:</comment>
   * FilesystemIterator::setFlags
   * DirectoryIterator::__construct


id: FilesystemIterator::current
type: function
doc:
<comment>Description:</comment>
  Текущий файл
  
  Извлекает информацию о текущем файле.

<comment>Return:</comment>
  <info>string|SplFileInfo|FilesystemIterator</info>  Имя файла, информация о файле, либо $this, в зависимости от
                                         установленных флагов. Смотрите Константы
                                         FilesystemIterator.

<comment>See Also:</comment>
   * Константы FilesystemIterator
   * DirectoryIterator::current
   * DirectoryIterator::getFileName


id: FilesystemIterator::getFlags
type: function
doc:
<comment>Description:</comment>
  Получение флагов настроек объекта
  
  Получает значения флагов настроек объекта в том виде, как они были заданы методами
  FilesystemIterator::__construct или FilesystemIterator::setFlags.

<comment>Return:</comment>
  <info>int</info>  Целое число, представляющее заданные флаги.

<comment>See Also:</comment>
   * FilesystemIterator::__construct
   * FilesystemIterator::setFlags


id: FilesystemIterator::key
type: function
doc:
<comment>Description:</comment>
  Определение ключа текущего файла

<comment>Return:</comment>
  <info>string</info>  Возвращает путь или имя файла в зависимости от установленных флагов. Смотрите Константы
          FilesystemIterator.

<comment>See Also:</comment>
   * FilesystemIterator constants
   * DirectoryIterator::key
   * DirectoryIterator::getFilename
   * DirectoryIterator::getPathname


id: FilesystemIterator::next
type: function
doc:
<comment>Description:</comment>
  Перемещение указателя на следующий файл
  
  Переход к следующему файлу.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * DirectoryIterator::next


id: FilesystemIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Перемещение указателя на начало
    
  
  Переводит указатель на начало директории.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * DirectoryIterator::rewind


id: FilesystemIterator::setFlags
type: function
doc:
<comment>Description:</comment>
  Задание флагов обработки
  
  Задаёт настройки итератора.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Флаги, которые необходимо установить. Смотрите Константы FilesystemIterator.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * FilesystemIterator::__construct
   * FilesystemIterator::getFlags


id: FilterIterator
type: class
doc:
<comment>Description:</comment>
  Этот абстрактный итератор фильтрует нежелательные значения. Этот класс следует расширить для
  реализации пользовательских фильтров итератора. Метод FilterIterator::accept должен быть
  реализован в подклассе.


id: FilterIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Конструктор класса FilterIterator
  
  Создаёт объект класса <class>FilterIterator</class>, который состоит из итератора, переданного в параметре
  <strong>$iterator</strong>, и фильтров, применяемых к нему.
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iterator</strong>  Фильтруемый итератор.

<comment>See Also:</comment>
   * LimitIterator::__construct


id: FilterIterator::accept
type: function
doc:
<comment>Description:</comment>
  Проверяет, является ли текущий элемент итератора допустимым
  
  Проверяет, является ли текущий элемент итератора допустимым для данного фильтра.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> если текущий элемент допустим, в противном случае <info>false</info>.


id: FilterIterator::current
type: function
doc:
<comment>Description:</comment>
  Получает значение текущего элемента
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.
  
  Получает значение текущего элемента.

<comment>Return:</comment>
  <info>mixed</info>  Значение текущего элемента.

<comment>See Also:</comment>
   * <strong>FilterIterator::key()</strong>
   * <strong>FilterIterator::next()</strong>


id: FilterIterator::key
type: function
doc:
<comment>Description:</comment>
  Получает текущий ключ
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.
  
  Получает текущий ключ.

<comment>Return:</comment>
  <info>mixed</info>  Текущий ключ.

<comment>See Also:</comment>
   * <strong>FilterIterator::next()</strong>
   * <strong>FilterIterator::current()</strong>


id: FilterIterator::next
type: function
doc:
<comment>Description:</comment>
  Перемещает итератор к следующему элементу
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.
  
  Перемещает итератор к следующему элементу.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * <strong>FilterIterator::current()</strong>
   * <strong>FilterIterator::key()</strong>


id: FilterIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Возвращает итератор в начало
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.
  
  Возвращает итератор в начало.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.

<comment>See Also:</comment>
   * <strong>FilterIterator::current()</strong>
   * <strong>FilterIterator::key()</strong>
   * <strong>FilterIterator::next()</strong>


id: FilterIterator::valid
type: function
doc:
<comment>Description:</comment>
  Проверяет, является ли текущий элемент допустимым
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.
  
  Проверяет, является ли текущий элемент допустимым.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, если текущий элемент допустим, в противном случае <info>false</info>


id: GD_BUNDLED
type: constant
doc:
<comment>Description:</comment>
  Если используется распространяемая с PHP версия GD, константа принимает значение 1, в противном
  случае 0.


id: GD_EXTRA_VERSION
type: constant
doc:
<comment>Description:</comment>
  Дополнительная (beta/rc..) версия GD, с которой был скомпилирован PHP.


id: GEARMAN_CLIENT_FREE_TASKS
type: constant
doc:
<comment>Description:</comment>
  Автоматически уничтожать объекты задач после их выполнения. Эта настройка используется по
  умолчанию, чтобы предотвратить утечки памяти.


id: GEARMAN_CLIENT_UNBUFFERED_RESULT
type: constant
doc:
<comment>Description:</comment>
  Позволять клиенту читать данные и посылать их обратно в чанках вместо буферизации данных целиком
  средствами библиотеки.


id: GEARMAN_ECHO_DATA_CORRUPTION
type: constant
doc:
<comment>Description:</comment>
  Указывает, что после вызова GearmanClient::echo или GearmanWorker::echo возвращённые данные не
  соответствуют переданным.


id: GEARMAN_ERRNO
type: constant
doc:
<comment>Description:</comment>
  Системная ошибка. Чтобы получить код ошибки, воспользуйтесь функцией GearmanClient::errno или
  GearmanWorker::errno.


id: GEARMAN_GETADDRINFO
type: constant
doc:
<comment>Description:</comment>
  Неудачная операция разрешения имён DNS (неверный порт, хост и т.п.).


id: GEARMAN_INVALID_FUNCTION_NAME
type: constant
doc:
<comment>Description:</comment>
  Это значение возвращается при попытке зарегистрировать NULL в качестве имени функции или при
  использовании callback-интерфейса без указания callback-функций.


id: GEARMAN_INVALID_WORKER_FUNCTION
type: constant
doc:
<comment>Description:</comment>
  Попытка зарегистрировать в обработчике функцию, передавая NULL в качестве callback-функции.


id: GEARMAN_NEED_WORKLOAD_FN
type: constant
doc:
<comment>Description:</comment>
  Когда клиент выбрал потоковый режим передачи данных для обработки, но не задал callback-функцию
  для обработки данных из этого потока.


id: GEARMAN_NO_ACTIVE_FDS
type: constant
doc:
<comment>Description:</comment>
  На момент вызова GearmanClient::wait или GearmanWorker не было активных подключений.


id: GEARMAN_NO_JOBS
type: constant
doc:
<comment>Description:</comment>
  Для неблокирующего обработчика, когда GearmanWorker::work не имеет активных заданий.


id: GEARMAN_NO_REGISTERED_FUNCTIONS
type: constant
doc:
<comment>Description:</comment>
  Когда обработчик получил задание для функции, которая в нем не зарегистрирована.


id: GEARMAN_NO_SERVERS
type: constant
doc:
<comment>Description:</comment>
  Перед отправкой задания или задачи не был вызван метод GearmanClient::addServer.


id: GEARMAN_PAUSE
type: constant
doc:
<comment>Description:</comment>
  При работе в неблокирующем режиме, это значение может вернуть callback-функция, чтобы
  приостановить обработку задания и выйти из метода GearmanClient::runTasks. Чтобы продолжить
  работу, следует ещё раз вызвать метод GearmanClient::runTasks.


id: GEARMAN_SEND_BUFFER_TOO_SMALL
type: constant
doc:
<comment>Description:</comment>
  Внутренняя ошибка: попытка передать больше данных, чем помещается в один чанк. Размеры буфера
  жёстко заданы и не подлежат изменению.


id: GEARMAN_SERVER_ERROR
type: constant
doc:
<comment>Description:</comment>
  На сервере Gearman произошёл сбой, и сервер не смог обработать запрос.


id: GEARMAN_UNEXPECTED_PACKET
type: constant
doc:
<comment>Description:</comment>
  Означает, что что-то пошло совсем не так, как должно было. Применимо только к <class>GearmanWorker</class>.


id: GEARMAN_WORKER_GRAB_UNIQ
type: constant
doc:
<comment>Description:</comment>
  Возвращать клиенту уникальный идентификатор в дополнение к дескриптору задания.


id: GEARMAN_WORK_DATA
type: constant
doc:
<comment>Description:</comment>
  Код возврата уведомления, который можно получить методом GearmanClient::returnCode во время работы
  GearmanClient::do. Выполняющий задание обработчик (worker) посылает этот код, когда ему требуется
  обновить данные на клиенте, передать часть результатов работы или сбросить данные во время
  выполнения долгих заданий.


id: GEARMAN_WORK_EXCEPTION
type: constant
doc:
<comment>Description:</comment>
  Код возврата уведомления, который можно получить методом GearmanClient::returnCode во время работы
  GearmanClient::do. Указывает, что выполнение задания завершилось неудачей с заданным исключением.


id: GEARMAN_WORK_FAIL
type: constant
doc:
<comment>Description:</comment>
  Код возврата уведомления, который можно получить методом GearmanClient::returnCode во время работы
  GearmanClient::do. Указывает, что задание выполнить не удалось.


id: GEARMAN_WORK_STATUS
type: constant
doc:
<comment>Description:</comment>
  Код возврата уведомления, который можно получить методом GearmanClient::returnCode во время работы
  GearmanClient::do. Обработчик задания посылает этот код, чтобы обновить статус долго выполняемого
  задания. Используйте GearmanClient::doStatus для получения процента завершения работы.


id: GEARMAN_WORK_WARNING
type: constant
doc:
<comment>Description:</comment>
  Код возврата уведомления, который можно получить методом GearmanClient::returnCode во время работы
  GearmanClient::do. Обновляет клиент с отправкой предупреждением. Поведение те же, что и в случае
  <info>GEARMAN_WORK_DATA</info>, однако этот код следует интерпретировать как предупреждение вместо обычных
  данных ответа.


id: GMP
type: class
doc:
<comment>Description:</comment>
  Номер GMP. Эти объекты поддерживают перегрузку следующих операторов: арифметических, побитовых и
  сравнения.
  
  Нет объектно-ориентированного интерфейса для управления объектами <class>GMP</class>. Для управления такими
  объектами рекомендованно использовать процедурный GMP API.


id: GMP::__construct
type: function
doc:
<comment>Description:</comment>
  Create GMP number
  
  Creates a GMP number from an integer or string.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$num</strong>   An integer or a string. The string representation can be decimal, hexadecimal
                     or octal.
  <info>int</info>         <strong>$base</strong>  The base.
                     
                     The base may vary from 2 to 62. If base is 0 (default value), the actual base
                     is determined from the leading characters: if the first two characters are <return>0x</return>
                     or <return>0X</return>, hexadecimal is assumed, if the first two characters are <return>0b</return> or <return>0B</return>, binary
                     is assumed, otherwise if the first character is <return>0</return>, octal is assumed, otherwise
                     decimal is assumed. For bases up to 36, case is ignored; upper-case and
                     lower-case letters have the same value. For bases 37 to 62, upper-case letter
                     represent the usual 10 to 35 while lower-case letter represent 36 to 61.

<comment>See Also:</comment>
   * <strong>gmp_init()</strong>


id: GMP::__serialize
type: function
doc:
<comment>Description:</comment>
  Сериализует объект GMP
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Return:</comment>
  <info>array</info>  Функция не возвращает значения после выполнения.


id: GMP::__unserialize
type: function
doc:
<comment>Description:</comment>
  Десериализует параметр data в объект GMP
  
  К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только
  список аргументов.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  Десериализуемое значение.

<comment>Return:</comment>
  <info>void</info>  Функция не возвращает значения после выполнения.


id: GSLC_SSL_NO_AUTH
type: constant
doc:
<comment>Description:</comment>
  Режим аутентификации SSL - аутентификация не требуется (Только для Oracle LDAP)


id: GSLC_SSL_ONEWAY_AUTH
type: constant
doc:
<comment>Description:</comment>
  Режим аутентификации SSL - требуется только серверная аутентификация (Только для Oracle LDAP)


id: GSLC_SSL_TWOWAY_AUTH
type: constant
doc:
<comment>Description:</comment>
  Режим аутентификации SSL - требуется как серверная, так и клиентская аутентификация (Только для
  Oracle LDAP)


id: GdFont
type: class
doc:
<comment>Description:</comment>
  Полностью непрозрачный класс, заменяющий ресурс <return>gd font</return> в PHP 8.1.0.


id: GdImage
type: class
doc:
<comment>Description:</comment>
  Полностью непрозрачный класс, заменяющий ресурсы <return>gd</return> в PHP 8.0.0.


id: GearmanClient
type: class
doc:
<comment>Description:</comment>
  Представляет собой класс для подключения к серверу заданий Gearman и создания запросов для
  выполнения некоторой функции по предоставленным данным. Выполняемая функция должна быть
  зарегистрирована обработчиком (worker) Gearman и передаваемые данные являются непрозрачными для
  сервера заданий.


id: GearmanClient::__construct
type: function
doc:
<comment>Description:</comment>
  Создать экземпляр GearmanClient
  
  Создаёт экземпляр <class>GearmanClient</class>, представляющий клиента, который соединяется с сервером заданий и
  отправляет задачи для выполнения.

<comment>Return:</comment>
  <info>unknown</info>  Объект <class>GearmanClient</class>.

<comment>See Also:</comment>
   * GearmanClient::clone


id: GearmanClient::addOptions
type: function
doc:
<comment>Description:</comment>
  Добавить клиентские опции
  
  Добавляет одну или несколько опций к уже установленным.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Опции для добавления. Одна из следующих констант или их комбинация с помощью
                двоичного оператора OR (|): <info>GEARMAN_CLIENT_GENERATE_UNIQUE</info>,
                <info>GEARMAN_CLIENT_NON_BLOCKING</info>, <info>GEARMAN_CLIENT_UNBUFFERED_RESULT</info> или
                <info>GEARMAN_CLIENT_FREE_TASKS</info>.

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.


id: GearmanClient::addServer
type: function
doc:
<comment>Description:</comment>
  Добавить сервер задач для клиента
  
  Добавляет сервер задач к списку серверов, которые могут использоваться для выполнения задачи.
  Никаких операций ввода-вывода c сокетом здесь не происходит. Сервер просто добавляется к списку.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>  Имя хоста сервера задач.
  <info>int</info>     <strong>$port</strong>  Порт сервера задач.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::addServers


id: GearmanClient::addServers
type: function
doc:
<comment>Description:</comment>
  Добавить список серверов задач для клиента
  
  Добавляет список серверов задач, которые могут использоваться для выполнения задачи. Никаких
  операций ввода-вывода c сокетом здесь не происходит. Сервера просто добавляются к полному списку
  серверов.

<comment>Param:</comment>
  <info>string</info>  <strong>$servers</strong>  Список серверов, разделённых запятыми. Каждый сервер указан в формате
                    '<return>host:port</return>'.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::addServer


id: GearmanClient::addTask
type: function
doc:
<comment>Description:</comment>
  Добавить задачу, которая будет выполнена в параллельном режиме
  
  Добавляет задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач,
  которые будут работать параллельно, а затем вызовите GearmanClient::runTasks для выполнения работ.
  Обратите внимание, что должно быть достаточное количество обработчиков для одновременного
  выполнения всех задач.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskBackground
type: function
doc:
<comment>Description:</comment>
  Добавить фоновую задачу для работы в параллельном режиме
  
  Добавляет фоновую задачу для параллельной работы с другими задачами. Вызовите этот метод для всех
  задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks для выполнения
  работ.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskHigh
type: function
doc:
<comment>Description:</comment>
  Добавить высокоприоритетную задачу для работы в параллельном режиме
  
  Добавляет высокоприоритетную задачу для параллельной работы с другими задачами. Вызовите этот
  метод для всех высокоприоритетных задач, которые будут работать параллельно, а затем вызовите
  GearmanClient::runTasks для выполнения работ. Задачи с высоким приоритетом будут выбраны из
  очереди раньше задач с нормальным или низким приоритетом.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskHighBackground
type: function
doc:
<comment>Description:</comment>
  Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
  
  Добавляет высокоприоритетную фоновую задачу для параллельной работы с другими задачами. Вызовите
  этот метод для всех задач, которые будут работать параллельно, а затем вызовите
  GearmanClient::runTasks для выполнения работ. Задачи с высоким приоритетом будут выбраны из
  очереди раньше задач с нормальным или низким приоритетом.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskLow
type: function
doc:
<comment>Description:</comment>
  Добавить низкоприоритетную задачу для работы в параллельном режиме
  
  Добавляет низкоприоритетную задачу для параллельной работы с другими задачами. Вызовите этот метод
  для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks для
  выполнения работ. Задачи с низким приоритетом будут выбраны из очереди после задач с нормальным
  или высоким приоритетом.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskLowBackground
type: function
doc:
<comment>Description:</comment>
  Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
  
  Добавляет низкоприоритетную фоновую задачу для параллельной работы с другими задачами. Вызовите
  этот метод для всех задач, которые будут работать параллельно, а затем вызовите
  GearmanClient::runTasks для выполнения работ. Задачи с низким приоритетом будут выбраны из очереди
  после задач с нормальным или высоким приоритетом.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string|int|float</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>mixed</info>             <strong>$context</strong>        Контекст приложения, связываемый с задачей
  <info>string|null</info>       <strong>$unique_key</strong>     Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info>, если задача не может быть добавлена.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskStatus
type: function
doc:
<comment>Description:</comment>
  Добавить задачу для получения статуса
  
  Используется для запроса информации о состоянии с сервера Gearman, который будет вызывать
  указанный callback-функцию статуса (заданную через GearmanClient::setStatusCallback).

<comment>Param:</comment>
  <info>string</info>  <strong>$job_handle</strong>  Дескриптор задания для получения статуса задачи
  <info>mixed</info>   <strong>$context</strong>     Данные, которые будут переданы обратному вызову. Обычно ссылка на массив или
                       объект

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект <class>GearmanTask</class> или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setStatusCallback


id: GearmanClient::clearCallbacks
type: function
doc:
<comment>Description:</comment>
  Очистить все функции обратного вызова данной задачи
  
  Очищает все callback-функции задачи, которые были ранее установлены.

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::clone
type: function
doc:
<comment>Description:</comment>
  Создать копию объекта GearmanClient
  
  Создаёт копию объекта <class>GearmanClient</class>.

<comment>Return:</comment>
  <info>GearmanClient</info>  <class>GearmanClient</class> в случае успешного выполнения, <info>false</info> в случае неудачи.


id: GearmanClient::context
type: function
doc:
<comment>Description:</comment>
  Возвращает контекст приложения
  
  Возвращает контекст, ранее установленный с помощью GearmanClient::setContext.

<comment>Return:</comment>
  <info>string</info>  Та же самая структура данных контекста, приведённая в GearmanClient::setContext

<comment>See Also:</comment>
   * GearmanClient::setContext


id: GearmanClient::data
type: function
doc:
<comment>Description:</comment>
  Возвращает данные приложения (функция устарела)
  
  Возвращает данные приложения, установленные ранее с помощью GearmanClient::setData.
  
  Этот метод был заменён на GearmanClient::setContext в версии 0.6.0 модуля Gearman.

<comment>Return:</comment>
  <info>string</info>  Некие строковые данные, установленные GearmanClient::setData.

<comment>See Also:</comment>
   * GearmanClient::setData


id: GearmanClient::do
type: function
doc:
<comment>Description:</comment>
  Выполняет одну задачу и возвращает результат [Устаревший метод]
  
  Метод GearmanClient::do устарел, начиная с pecl/gearman 1.0.0. Используйте
  GearmanClient::doNormal.

<comment>Param:</comment>
  <info>string</info>  <strong>$function_name</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>  <strong>$workload</strong>       Сериализованные данные, подлежащие обработке
  <info>string</info>  <strong>$unique</strong>         Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Результат выполнения задачи в виде строки.

<comment>See Also:</comment>
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doBackground
type: function
doc:
<comment>Description:</comment>
  Запускает выполнение задачи в фоновом режиме
  
  Запускает выполнение задачи в фоновом режиме, возвращая дескриптор задания, который может быть
  использован для запроса состояния выполняющейся задачи.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Дескриптор задания для отправленной задачи.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doHigh
type: function
doc:
<comment>Description:</comment>
  Запускает на выполнение задачу с высоким приоритетом
  
  Запускает на выполнение одиночную высокоприоритетную задачу и возвращает строку, содержащую
  результат. Функция зависит от <class>GearmanClient</class> и <class>GearmanWorker</class>, поскольку необходимо обеспечить
  единый формат результата. Высокоприоритетные задачи имеют преимущество над нормальными и
  низкоприоритетными задачам в очереди заданий.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Строка, содержащая результат выполнения задачи.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doHighBackground
type: function
doc:
<comment>Description:</comment>
  Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
  
  Запускает на выполнение с высоким приоритетом задачу в фоновом режиме, возвращая дескриптор
  задания, который может быть в дальнейшем использован для запроса состояния выполняющейся задачи.
  Задачи высокого приоритета имеют преимущество над нормальными и низкоприоритетными задачам в
  очереди заданий.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Дескриптор отправленной задачи.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doJobHandle
type: function
doc:
<comment>Description:</comment>
  Получить дескриптор выполняющейся задачи
  
  Получает дескриптор задания для выполняющейся задачи. Этот метод должен использоваться между
  повторным вызовами GearmanClient::doNormal. Дескриптор задания может использоваться для получения
  информации о задаче.

<comment>Return:</comment>
  <info>string</info>  Дескриптор задания для выполняющейся задачи.

<comment>See Also:</comment>
   * GearmanClient::jobStatus


id: GearmanClient::doLow
type: function
doc:
<comment>Description:</comment>
  Запускает на выполнение задачу с низким приоритетом
  
  Запускает на выполнение задачу с низким приоритетом и возвращает строку, содержащую результат.
  Функция зависит от <class>GearmanClient</class> и <class>GearmanWorker</class>, поскольку необходимо обеспечить единый формат
  результата. Высокоприоритетные задачи имеют преимущество над обычными и низкоприоритетными задачам
  в очереди заданий. Задачи нормального и высокого приоритета имеют преимущество над
  низкоприоритетными задачами в очереди заданий.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Строка, содержащая результат выполнения задачи.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doLowBackground
type: function
doc:
<comment>Description:</comment>
  Запускает на выполнение с низким приоритетом задачу в фоновом режиме
  
  Запускает на выполнение с низким приоритетом задачу в фоновом режиме, возвращая дескриптор
  задания, который может быть использован для запроса состояния выполняющейся задачи. Задачи
  нормального и высокого приоритета имеют преимущество над низкоприоритетными задачам в очереди
  заданий.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Дескриптор отправленной задачи.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground


id: GearmanClient::doNormal
type: function
doc:
<comment>Description:</comment>
  Выполняет одиночное задание и возвращает результат
  
  Выполняет одиночное задание и возвращает строковое представление результата. Формат возвращаемого
  результата определяют объекты <class>GearmanClient</class> и <class>GearmanWorker</class>.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Зарегистрированная функция, вызываемая рабочим процессом
  <info>string</info>       <strong>$workload</strong>  Сериализованные данные, подлежащие обработке
  <info>string|null</info>  <strong>$unique</strong>    Уникальный ID, назначаемый определённой задаче

<comment>Return:</comment>
  <info>string</info>  Строка, представляющая результат выполнения задания.

<comment>See Also:</comment>
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doStatus
type: function
doc:
<comment>Description:</comment>
  Получение статуса выполняющейся задачи
  
  Возвращает статус обработки запущенной задачи. Этот метод вызывается между повторяющимися вызовами
  GearmanClient::doNormal.

<comment>Return:</comment>
  <info>array</info>  Массив, представляющий процентное отношение выполненной работы. Первый элемент
         соответствует количеству обработанных чанков, второй - общее количество данных.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanJob::status


id: GearmanClient::echo
type: function
doc:
<comment>Description:</comment>
  Отправляет данные всем серверам заданий, чтобы проверить отклик [Устаревший метод]
  
  Метод GearmanClient::echo устарел начиная с pecl/gearman 1.0.0. Используйте GearmanClient::ping.

<comment>Param:</comment>
  <info>string</info>  <strong>$workload</strong>  Некоторые произвольные сериализированные данные для получения отклика

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: GearmanClient::error
type: function
doc:
<comment>Description:</comment>
  Вернуть строку ошибки для последней обнаруженной ошибки
  
  Возвращает строку ошибки для последней обнаруженной ошибки.

<comment>Return:</comment>
  <info>string|false</info>  Удобочитаемая строка ошибки или <info>false</info>, если сообщение об ошибке отсутствует.

<comment>See Also:</comment>
   * GearmanClient::getErrno


id: GearmanClient::getErrno
type: function
doc:
<comment>Description:</comment>
  Получить значение errno
  
  Значение ERRNO в случае возвращаемого значения GEARMAN_ERRNO.

<comment>Return:</comment>
  <info>int</info>  Допустимый Gearman errno.

<comment>See Also:</comment>
   * GearmanClient::error


id: GearmanClient::jobStatus
type: function
doc:
<comment>Description:</comment>
  Получение статуса выполнения фонового задания
  
  Объектно-ориентированный стиль (метод):
  
  Получает текущее состояние выполнения задания, запущенного в фоновом режиме. Информация о
  состоянии включает данные о том, что задание известно обработчику, выполняется ли задание в данный
  момент, а также процент обработанных данных.

<comment>Param:</comment>
  <info>string</info>  <strong>$job_handle</strong>  Дескриптор задачи, который присваевается сервером Gearman

<comment>Return:</comment>
  <info>array</info>  Массив, содержащий информацию о задании, соответствующем заданному дескриптору задания.
         Первый элемент массива указывает, знает ли обработчик об этом задании. Второй элемент
         указывает, выполняется ли задание в данный момент. Третий и четвёртый элементы отвечают за
         долю выполненной работы и общий объем данных, соответственно.

<comment>See Also:</comment>
   * GearmanClient::doStatus


id: GearmanClient::ping
type: function
doc:
<comment>Description:</comment>
  Отправляет данные на все серверы, чтобы проверить, какие из них выведут эти данные
    
  
  Посылает данные на все сервера и определяет, какие из них выведут эти данные в выходной поток.
  Посылаемые данные никак не обрабатываются. Метод используется для тестирования и отладки.

<comment>Param:</comment>
  <info>string</info>  <strong>$workload</strong>  Данные, которые можно вывести в выходной поток.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.


id: GearmanClient::removeOptions
type: function
doc:
<comment>Description:</comment>
  Удалить клиентские опции
  
  Удаляет одну или несколько клиентских опций.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Опции, которые должны быть удалены.

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.


id: GearmanClient::returnCode
type: function
doc:
<comment>Description:</comment>
  Получить последний код возврата Gearman
  
  Возвращает последний код возврата Gearman.

<comment>Return:</comment>
  <info>int</info>  Допустимый код возврата Gearman.


id: GearmanClient::runTasks
type: function
doc:
<comment>Description:</comment>
  Запустить список задач в параллельном режиме
  
  Для набора задач, ранее добавленных с помощью GearmanClient::addTask, GearmanClient::addTaskHigh,
  GearmanClient::addTaskLow, GearmanClient::addTaskBackground, GearmanClient::addTaskHighBackground
  или GearmanClient::addTaskLowBackground, этот вызов начинает выполнение в параллельном режиме.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::addTask


id: GearmanClient::setClientCallback
type: function
doc:
<comment>Description:</comment>
  Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)
  
  Устанавливает функцию обратного вызова для принятия пакетов данных для задачи. Функция обратного
  вызова должна принимать единственный параметр - объект <class>GearmanTask</class>.
  
  Этот метод был заменён на GearmanClient::setDataCallback в версии 0.6.0 модуля Gearman.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Функция или метод, которые должны быть вызваны.

<comment>Return:</comment>
  <info>void</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setDataCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setCompleteCallback
type: function
doc:
<comment>Description:</comment>
  Установите функцию, которая будет вызвана по завершении задачи
  
  Используется для установки функции, которая будет вызвана, когда <class>GearmanTask</class> будет выполнен, или
  когда обработчик вызовет GearmanJob::sendComplete, в зависимости от того, что случится раньше.
  
  Эта callback-функция запускается только когда <class>GearmanTask</class> запущен с использованием
  GearmanClient::runTasks. Это не используется для индивидуальной работы.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция, которая должна быть вызвана.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setContext
type: function
doc:
<comment>Description:</comment>
  Установить контекст приложения
  
  Устанавливает произвольную строку для предоставления контекста приложения, которая может быть
  позже получена с помощью GearmanClient::context.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Произвольные данные контекста

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::context


id: GearmanClient::setCreatedCallback
type: function
doc:
<comment>Description:</comment>
  Установить функцию обратного вызова, когда задача ставится в очередь
  
  Устанавливает функцию, которая будет вызвана, когда задача получена и поставлена в очередь
  сервером задач Gearman. Функция обратного вызова должна принимать единственный параметр - объект
  <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция, которая должна быть вызвана.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setData
type: function
doc:
<comment>Description:</comment>
  Установить данные приложения (устаревший метод)
  
  Устанавливает некоторые произвольные данные приложения, которые впоследствии могут быть извлечены
  GearmanClient::data.
  
  Этот метод был заменён на GearmanCient::setContext в версии 0.6.0 модуля Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::data


id: GearmanClient::setDataCallback
type: function
doc:
<comment>Description:</comment>
  Задаёт callback-функцию для обработки переданных данных
    
  
  Задаёт callback-функцию, которая будет обрабатывать данные задания. Эта функция должна принимать
  один аргумент типа <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция или метод для обратного вызова.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setExceptionCallback
type: function
doc:
<comment>Description:</comment>
  Установка функции обратного вызова для перехвата исключений обработчика
     заданий
    
  
  Задаёт функцию, которая будет вызываться, когда обработчик задания отправит исключение.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция для перехвата исключения, выброшенного обработчиком заданий.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setFailCallback
type: function
doc:
<comment>Description:</comment>
  Установка callback-функции для обработки ситуации, когда задание
     не удалось выполнить
    
  
  Задаёт функцию обратного вызова для обработки ситуации, когда задание выполнить не удалось.
  Принимает один аргумент типа <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция для вызова.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setOptions
type: function
doc:
<comment>Description:</comment>
  Установка настроек клиента
  
  Устанавливает одну или несколько настроек клиента.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Задаваемые настройки

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.


id: GearmanClient::setStatusCallback
type: function
doc:
<comment>Description:</comment>
  Задание callback-функции, собирающей информацию о состоянии обработчика заданий
    
  
  Задаёт callback-функцию, которая будет принимать и обрабатывать информацию о состоянии задания,
  передаваемую обработчиком заданий. Функция должна принимать один аргумент типа <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция для вызова

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setTimeout
type: function
doc:
<comment>Description:</comment>
  Установка времени ожидания для операций ввода/вывода
  
  Устанавливает время ожидания для операций ввода/вывода.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  Временной интервал в миллисекундах

<comment>Return:</comment>
  <info>bool</info>  Всегда возвращает <info>true</info>.


id: GearmanClient::setWarningCallback
type: function
doc:
<comment>Description:</comment>
  Установка callback-функции, обслуживающей предупреждения обработчика заданий
    
  
  Задаёт функцию, которая будет вызываться, когда обработчик заданий пришлёт предупреждение. Функция
  должна принимать один аргумент типа <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Функция для обратного вызова

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setWorkloadCallback
type: function
doc:
<comment>Description:</comment>
  Установка callback-функции, принимающей промежуточные результаты от
     обработчика заданий
    
  
  Задаёт функцию, которая будет вызываться, когда обработчику задания необходимо передать
  промежуточные результаты клиенту до завершения всей обработки. Обработчику заданий может
  потребоваться такая пересылка, если нужно передать клиенту какие-либо обновления, частично
  отправить результаты обработки или освободить память во время выполнения долгих заданий. Функция
  должна принимать один аргумент типа <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Callback-функция.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback


id: GearmanClient::timeout
type: function
doc:
<comment>Description:</comment>
  Получение значения времени ожидания операций ввода/вывода
    
  
  Возвращает время ожидания операций ввода/вывода в миллисекундах.

<comment>Return:</comment>
  <info>int</info>  Время ожидания в миллисекундах. Отрицательное значение означает отсутствие ограничения.

<comment>See Also:</comment>
   * GearmanClient::setTimeout


id: GearmanClient::wait
type: function
doc:
<comment>Description:</comment>
  Ожидает активности ввода-вывода для всех подключений на клиенте
  
  Ожидает активности от любого из подключённых серверов.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> в случае успешного выполнения, <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanWorker::wait


id: GearmanJob::__construct
type: function
doc:
<comment>Description:</comment>
  Создание объекта GearmanJob
  
  Создаёт объект класса <class>GearmanJob</class>, представляющий задание для обработчика.

<comment>Return:</comment>
  <info>unknown</info>  Объект <class>GearmanJob</class>.


id: GearmanJob::complete
type: function
doc:
<comment>Description:</comment>
  Отправка результата и статуса завершения (устаревший метод)
    
  
  Отправляет результаты обработки клиенту и обновляет статус работы на завершённый.
  
  Этот метод был заменён на GearmanJob::sendComplete в выпуске модуля Gearman 0.6.0.

<comment>Param:</comment>
  <info>string</info>  <strong>$result</strong>  Сериализованные результаты обработки.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendFail
   * GearmanJob::setReturn


id: GearmanJob::data
type: function
doc:
<comment>Description:</comment>
  Отправка данных (устаревший метод)
    
  
  Отправляет данные серверу заданий (и всем слушающим клиентам).
  
  Этот метод был заменён на GearmanJob::sendData в выпуске 0.6.0 модуля Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Сериализованные данные.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::workload
   * GearmanTask::data


id: GearmanJob::exception
type: function
doc:
<comment>Description:</comment>
  Отправка исключения (устаревший метод)
    
  
  Посылает исключение, возникшее во время выполнения работы.
  
  Этот метод был заменён на GearmanJob::sendException в модуле Gearman версии 0.6.0.

<comment>Param:</comment>
  <info>string</info>  <strong>$exception</strong>  Описание исключения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::fail
type: function
doc:
<comment>Description:</comment>
  Отправка статуса неудачной операции (устаревший метод)
    
  
  Посылает статус о неудачной обработки, указывая, что задание завершилось неудачно по известным
  причинам (в отличие от неудачного завершения, когда выбрасывается исключение).
  
  Этот метод был заменён на GearmanJob::sendFail в версии 0.6.0 модуля Gearman.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendException
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::functionName
type: function
doc:
<comment>Description:</comment>
  Получение имени функции
  
  Возвращает имя функции, обрабатывающей данные, то есть функции, которая будет вызвана для
  выполнения задания.

<comment>Return:</comment>
  <info>false|string</info>  Имя функции или <info>false</info>, если задание ещё не инициализировано.

<comment>See Also:</comment>
   * GearmanTask::function


id: GearmanJob::handle
type: function
doc:
<comment>Description:</comment>
  Получение дескриптора объекта задания
    
  
  Возвращает дескриптор задания, присвоенный сервером.

<comment>Return:</comment>
  <info>false|string</info>  Дескриптор задания или <info>false</info>, если задание ещё не инициализировано.

<comment>See Also:</comment>
   * GearmanTask::jobHandle


id: GearmanJob::returnCode
type: function
doc:
<comment>Description:</comment>
  Получение последнего кода возврата
    
  
  Возвращает последний выданный сервером заданий код возврата.

<comment>Return:</comment>
  <info>int</info>  Допустимый в Gearman код возврата.

<comment>See Also:</comment>
   * GearmanTask::returnCode


id: GearmanJob::sendComplete
type: function
doc:
<comment>Description:</comment>
  Отправка результата и статуса завершения
    
  
  Отправляет результаты работы клиенту и обновляет статус объекта на завершённый.

<comment>Param:</comment>
  <info>string</info>  <strong>$result</strong>  Сериализованные результаты работы.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendFail
   * GearmanJob::setReturn


id: GearmanJob::sendData
type: function
doc:
<comment>Description:</comment>
  Отправка данных выполняющемуся заданию
    
  
  Отправляет данные серверу заданий (и всем слушающим клиентам).

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Сериализованные данные.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::workload
   * GearmanTask::data


id: GearmanJob::sendException
type: function
doc:
<comment>Description:</comment>
  Отправка исключения выполняющемуся заданию
  
  Посылает исключение, возникшее во время выполнения работы.

<comment>Param:</comment>
  <info>string</info>  <strong>$exception</strong>  Описание исключения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::sendFail
type: function
doc:
<comment>Description:</comment>
  Отправка статуса неудачной операции
  
  Посылает статус о неудачной обработки, указывая, что задание завершилось неудачно по известным
  причинам (в отличие от неудачного завершения, когда выбрасывается исключение).

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendException
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::sendStatus
type: function
doc:
<comment>Description:</comment>
  Отправка статуса
  
  Посылает на сервер задач и всем слушающим клиентам статус текущей работы. С помощью этого метода
  можно узнать, какой процент задания выполнен.

<comment>Param:</comment>
  <info>int</info>  <strong>$numerator</strong>    Доля выполненной работы.
  <info>int</info>  <strong>$denominator</strong>  Количество всей работы.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::jobStatus
   * GearmanTask::taskDenominator
   * GearmanTask::taskNumerator


id: GearmanJob::sendWarning
type: function
doc:
<comment>Description:</comment>
  Отправка предупреждения
  
  Во время выполнения работы отправляет предупреждение.

<comment>Param:</comment>
  <info>string</info>  <strong>$warning</strong>  Сообщение предупреждения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendComplete
   * GearmanJob::sendException
   * GearmanJob::sendFail


id: GearmanJob::setReturn
type: function
doc:
<comment>Description:</comment>
  Установка возвращаемого значения
  
  Задаёт возвращаемое значение для текущего задания. Это значение указывает, как завершилось
  задание.

<comment>Param:</comment>
  <info>int</info>  <strong>$gearman_return_t</strong>  Допустимое в Gearman возвращаемое значение.

<comment>Return:</comment>
  <info>bool</info>  Описание...


id: GearmanJob::status
type: function
doc:
<comment>Description:</comment>
  Отправка статуса задания (устаревший метод)
  
  Посылает на сервер задач и всем слушающим клиентам статус текущей работы. С помощью этого метода
  можно узнать, какой процент задания выполнен.
  
  Этот метод был заменён на GearmanJob::sendStatus в версии 0.6.0 модуля Gearman.

<comment>Param:</comment>
  <info>int</info>  <strong>$numerator</strong>    Доля выполненной работы.
  <info>int</info>  <strong>$denominator</strong>  Количество всей работы.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanClient::jobStatus
   * GearmanTask::taskDenominator
   * GearmanTask::taskNumerator


id: GearmanJob::unique
type: function
doc:
<comment>Description:</comment>
  Получение уникального идентификатора
  
  Возвращает уникальный идентификатор задания, присвоенный клиентом.

<comment>Return:</comment>
  <info>false|string</info>  Уникальный идентификатор или <info>false</info>, если задание ещё не инициализировано.

<comment>See Also:</comment>
   * GearmanClient::do
   * GearmanTask::uuid


id: GearmanJob::warning
type: function
doc:
<comment>Description:</comment>
  Отправка предупреждения (устаревший метод)
  
  Во время выполнения задания отправляет предупреждение.
  
  Этот метод был заменён на GearmanJob::sendWarning в версии 0.6.0 модуля Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$warning</strong>  Сообщение предупреждения.

<comment>Return:</comment>
  <info>bool</info>  Возвращает <info>true</info> в случае успешного выполнения или <info>false</info> в случае возникновения ошибки.

<comment>See Also:</comment>
   * GearmanJob::sendComplete
   * GearmanJob::sendException
   * GearmanJob::sendFail


id: GearmanJob::workload
type: function
doc:
<comment>Description:</comment>
  Получение данных для обработки
  
  Возвращает данные, переданные для обработки. Это сериализованные данные, с которыми будет работать
  обработчик.

<comment>Return:</comment>
  <info>string</info>  Сериализованные данные.

<comment>See Also:</comment>
   * GearmanClient::do
   * GearmanJob::workloadSize


id: GearmanJob::workloadSize
type: function
doc:
<comment>Description:</comment>
  Получение размера обрабатываемых данных
  
  Возвращает размер данных, которые должен переработать обработчик заданий, в байтах.

<comment>Return:</comment>
  <info>int</info>  Размер в байтах.

<comment>See Also:</comment>
   * GearmanJob::workload


id: GearmanTask::__construct
type: function
doc:
<comment>Description:</comment>
  Создаёт объект GearmanTask
  
  Создаёт объект <class>GearmanTask</class>, представляющий задачу на обработку, которая в дальнейшем будет
  отправлена на сервер.

<comment>Return:</comment>
  <info>unknown</info>  Объект класса <class>GearmanTask</class>.


id: GearmanTask::create
type: function
doc:
<comment>Description:</comment>
  Создаёт задачу (устаревший метод)
  
  Возвращает новый объект класса <class>GearmanTask</class>.
  
  Этот метод был удалён в версии 0.6.0 модуля Gearman.

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Объект класса <class>GearmanTask</class> или <info>false</info> в случае возникновения ошибки.


id: GearmanTask::data
type: function
doc:
<comment>Description:</comment>
  Получить данные, возвращённые для задачи
  
  Получает данные, возвращаемые обработчиком по завершении работы задачи.

<comment>Return:</comment>
  <info>false|string</info>  Сериализованные данные или <info>false</info>, если обработчик не предоставил данных.

<comment>See Also:</comment>
   * GearmanTask::dataSize


id: GearmanTask::dataSize
type: function
doc:
<comment>Description:</comment>
  Получить размер возвращаемых данных
  
  Возвращает размер данных задачи, которые вернул обработчик.

<comment>Return:</comment>
  <info>int|false</info>  Размер данных или <info>false</info>, если данных предоставлено не было.

<comment>See Also:</comment>
   * GearmanTask::data


id: GearmanTask::function
type: function
doc:
<comment>Description:</comment>
  Получить имя связанной функции (устаревший метод)
    
  
  Возвращает имя функции, с которой связано эта задача. Эту функцию вызывает обработчик в процессе
  работы с данными.
  
  Этот метод был заменён на GearmanTask::functionName в версии 0.6.0 модуля Gearman.

<comment>Return:</comment>
  <info>string</info>  Имя функции.


id: GearmanTask::functionName
type: function
doc:
<comment>Description:</comment>
  Получить имя функции
  
  Возвращает имя функции, с которой связана задача. Эту функцию вызывает обработчик в процессе
  работы с данными.

<comment>Return:</comment>
  <info>false|string</info>  Имя функции или <info>false</info>, если задача ещё не создана.


id: GearmanTask::isKnown
type: function
doc:
<comment>Description:</comment>
  Определение, известно ли серверу об этой задачи
  
  Определяет, известно ли серверу заданий об этой задачи.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, если задача известна, <info>false</info> в противном случае.


id: GearmanTask::isRunning
type: function
doc:
<comment>Description:</comment>
  Проверяет, выполняется ли задача в данный момент
    
  
  Указывает, выполняется ли в данное время задача.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, если задача выполняется, <info>false</info> в противном случае.


id: GearmanTask::jobHandle
type: function
doc:
<comment>Description:</comment>
  Получить дескриптор задания
  
  Возвращает дескриптор задания для этой задачи.

<comment>Return:</comment>
  <info>false|string</info>  Описатель объекта работы или <info>false</info>, если задача ещё не создана.

<comment>See Also:</comment>
   * GearmanClient::doJobHandle


id: GearmanTask::recvData
type: function
doc:
<comment>Description:</comment>
  Чтение данных работы или результата задачи в буфер
    
  
  Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, её имя и относящаяся к ней
  документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию
  на свой страх и риск.

<comment>Param:</comment>
  <info>int</info>  <strong>$data_len</strong>  Размер данных для чтения.

<comment>Return:</comment>
  <info>false|array</info>  Массив, в котором первый элемент представляет размер прочитанных данных, а второй -
               буферизованные данные. В случае неудачи при чтении, метод вернёт <info>false</info>.

<comment>See Also:</comment>
   * GearmanTask::sendData


id: GearmanTask::returnCode
type: function
doc:
<comment>Description:</comment>
  Получить последний код возврата
    
  
  Возвращает последний код возврата для этой задачи.

<comment>Return:</comment>
  <info>int</info>  Допустимый в Gearman код возврата.

<comment>See Also:</comment>
   * GearmanClient::returnCode


id: GearmanTask::sendData
type: function
doc:
<comment>Description:</comment>
  Отправка данных задачи (устаревший метод)
  
  Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, её имя и относящаяся к ней
  документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию
  на свой страх и риск.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Передаваемые обработчику данные.

<comment>Return:</comment>
  <info>int</info>  Размер переданных данных или <info>false</info> в случае неудачи.

<comment>See Also:</comment>
   * GearmanTask::recvData


