Клас EventBuffer

(PECL event >= 1.5.0)

Вступ

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

Буфери подій зазвичай корисні організації "буферної" частини буферизованого мережевого вводу/вывода.

Огляд класів


     
    
    
    
     
      class EventBuffer
     
     {
    
    /* Константы */
    
     const
     int
      EOL_ANY = 0;

    const
     int
      EOL_CRLF = 1;

    const
     int
      EOL_CRLF_STRICT = 2;

    const
     int
      EOL_LF = 3;

    const
     int
      PTR_SET = 0;

    const
     int
      PTR_ADD = 1;

    /* Свойства */
    public
     readonly
     int
      $length;

    public
     readonly
     int
      $contiguous_space;

    /* Методы */
    
   public
   add(
    string
     $data
   ): bool
public
   addBuffer(
    EventBuffer
     $buf
   ): bool
public
   appendFrom(
    EventBuffer
     $buf
   , 
    int
     $len
   ): int
public
   __construct()
public
   copyout(
    string
     &$data
   , 
    int
     $max_bytes
   ): int
public
   drain(
    int
     $len
   ): bool
public
   enableLocking(): void
public
   expand(
    int
     $len
   ): bool
public
   freeze(
    bool
     $at_front
   ): bool
public
   lock(): void
public
   prepend(
    string
     $data
   ): bool
public
   prependBuffer(
    EventBuffer
     $buf
   ): bool
public
   pullup(
    int
     $size
   ): string
public
   read(
    int
     $max_bytes
   ): string
public
   read(
    mixed
     $fd
   , 
    int
     $howmuch
   ): int
public
   readLine(
    int
     $eol_style
   ): string
public
   search(
    string
     $what
   , 
    int
     $start
     = -1
   , 
    int
     $end
     = -1
   ): mixed
public
   searchEol(
    int
     $start
     = -1
   , 
    int
     $eol_style
     = 
     EventBuffer::EOL_ANY
    
   ): mixed
public
   substr(
    int
     $start
   , 
    int
     $length
    = ?): string
public
   unfreeze(
    bool
     $at_front
   ): bool
public
   unlock(): bool
public
   write(
    mixed
     $fd
   , 
    int
     $howmuch
    = ?): int

   }

Властивості

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— Записує вміст буфера у файл чи сокет