Класс EventBuffer
(PECL event >= 1.5.0)
Введение
EventBuffer представляет событийный буфер библиотеки Libevent - вспомогательный функционал для буферезированного ввода/вывода.
Буферы событий обычно полезны для организации "буферной" части буферизированного сетевого ввода/вывода.
Обзор классов
Свойства
- length
-
Количество байт в буфере событий.
- contiguous_space
-
Количество байтов, хранящихся смежно в передней части буфера. Байты в буфере могут располагаться в разных кусках памяти; свойство возвращает количество байт находящихся, в текущий момент, в первом куске.
Предопределенные константы
-
EventBuffer::EOL_ANY
-
Конец строки является любой последовательностью любого числа символов перевода строки и возврата каретки. Этот формат не особо полезен и существует только для обеспечения обратной совместимости.
-
EventBuffer::EOL_CRLF
-
Конец строки является последовательностью из необязательного возврата каретки и перевода строки. (Другими словами либо
"\r\n"
либо"\n"
.) Этот формат полезен при разборе текстовых Интернет-протоколов, поскольку стандарты обычно предписывают обозначать конец строки как"\r\n"
, но многие клиенты используют просто"\n"
. -
EventBuffer::EOL_CRLF_STRICT
-
Конец строки является последовательностью из символов возврата каретки и перевода строки. (Т.е.
"\r\n"
. ASCII-коды0x0D
0x0A
). -
EventBuffer::EOL_LF
-
Конец строки является обозначается символом перевода строки. (т.е.
"\n"
. ASCII-код0x0A
.) -
EventBuffer::PTR_SET
-
Флаг используется как аргумент метода EventBuffer::setPosition(). Если флаг установлен, то указатель позиции перемещается на абсолютную позицию в буфере.
-
EventBuffer::PTR_ADD
-
То же, что и
EventBuffer::PTR_SET
, за исключением, что флаг указывает методу EventBuffer::setPosition() переместить позицию вперед на указанное количество байт.
Содержание
- EventBuffer::add — Добавляет данные в конец буфера событий
- EventBuffer::addBuffer — Перемещает все данные из буфера экземпляру EventBuffer
- EventBuffer::appendFrom — Перемещает указанное количество байтов из исходного буфера в конец текущего буфера
- EventBuffer::__construct — Создает объект EventBuffer
- EventBuffer::copyout — Копирует указанное количество байтов с начала буфера
- EventBuffer::drain — Удаляет указанное количество байтов с начала буфера, никуда не копируя
- EventBuffer::enableLocking — Описание
- EventBuffer::expand — Резервирует пространство в буфере
- EventBuffer::freeze — Предотвращает вызовы, которые изменяют буфер событий в случае успешного выполнения
- EventBuffer::lock — Получает блокировку буфера
- EventBuffer::prepend — Записывает данные в начало буфера
- EventBuffer::prependBuffer — Перемещает все данные из исходного буфера в начало текущего буфера
- EventBuffer::pullup — Линеаризует данные в буфере и возвращает их содержимое в виде строки
- EventBuffer::read — Читает данные из evbuffer и истощает прочитанные байты
- EventBuffer::readFrom — Читает данные из файла в конец буфера
- EventBuffer::readLine — Извлекает строку из начала буфера
- EventBuffer::search — Сканирует буфер на наличие строки
- EventBuffer::searchEol — Сканирует буфер на наличие конца строки
- EventBuffer::substr — Обрезает часть данных буфера
- EventBuffer::unfreeze — Повторно включает вызовы, которые изменяют буфер событий
- EventBuffer::unlock — Снимает блокировку, установленную EventBuffer::lock
- EventBuffer::write — Записывает содержимое буфера в файл или сокет