Класс EventBuffer

(PECL event >= 1.5.0)

Введение

EventBuffer представляет событийный буфер библиотеки Libevent - вспомогательный функционал для буферезированного ввода/вывода.

Буферы событий обычно полезны для организации "буферной" части буферизированного сетевого ввода/вывода.

Обзор классов

EventBuffer {
/* Константы */
const integer EOL_ANY = 0 ;
const integer EOL_CRLF = 1 ;
const integer EOL_CRLF_STRICT = 2 ;
const integer EOL_LF = 3 ;
const integer PTR_SET = 0 ;
const integer PTR_ADD = 1 ;
/* Свойства */
public readonly int $length ;
public readonly int $contiguous_space ;
/* Методы */
public bool add ( string $data )
public bool addBuffer ( EventBuffer $buf )
public int appendFrom ( EventBuffer $buf , int $len )
public __construct ( void )
public int copyout ( string &$data , int $max_bytes )
public bool drain ( int $len )
public void enableLocking ( void )
public bool expand ( int $len )
public bool freeze ( bool $at_front )
public void lock ( void )
public bool prepend ( string $data )
public bool prependBuffer ( EventBuffer $buf )
public string pullup ( int $size )
public string read ( int $max_bytes )
public int read ( mixed $fd , int $howmuch )
public string readLine ( int $eol_style )
public mixed search ( string $what [, int $start = -1 [, int $end = -1 ]] )
public mixed searchEol ([ int $start = -1 [, int $eol_style = EventBuffer::EOL_ANY ]] )
public string substr ( int $start [, int $length ] )
public bool unfreeze ( bool $at_front )
public bool unlock ( void )
public int write ( mixed $fd [, int $howmuch ] )
}

Свойства

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() переместить позицию вперед на указанное количество байт.

Содержание