<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.event.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'class.eventbuffer.php',
    1 => 'EventBuffer',
    2 => 'Класс EventBuffer',
  ),
  'up' => 
  array (
    0 => 'book.event.php',
    1 => 'Event',
  ),
  'prev' => 
  array (
    0 => 'eventbase.stop.php',
    1 => 'EventBase::stop',
  ),
  'next' => 
  array (
    0 => 'eventbuffer.add.php',
    1 => 'EventBuffer::add',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/event/eventbuffer.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.eventbuffer.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.eventbuffer" class="reference">
 <h1 class="title">Класс EventBuffer</h1>
 
 <div class="partintro"><p class="verinfo">(PECL event &gt;= 1.5.0)</p>
  
  <div class="section" id="eventbuffer.intro">
   <h2 class="title">Введение</h2>
   <p class="para">
    Класс <span class="classname"><strong class="classname">EventBuffer</strong></span> представляет «событийный» буфер
    модуля Libevent — служебная функция для буферизированного ввода-вывода.
   </p>
   <p class="para">
    Буферы событий обычно полезны для организации «буферной» части
    буферизированного сетевого ввода-вывода.
   </p>
  </div>
  
  <div class="section" id="eventbuffer.synopsis">
   <h2 class="title">Обзор класса</h2>

   
   <div class="classsynopsis">
    <span class="ooclass">
     <strong class="classname"></strong>
    </span>
    
    <div class="classsynopsisinfo">
     <span class="ooclass">
      <span class="modifier">class</span> <strong class="classname">EventBuffer</strong>
     </span>
     {</div>
    
    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Константы */</div>
    <div class="fieldsynopsis">
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.eol-any"><var class="varname">EOL_ANY</var></a></var><span class="initializer"> = 0</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.eol-crlf"><var class="varname">EOL_CRLF</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.eol-crlf-strict"><var class="varname">EOL_CRLF_STRICT</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.eol-lf"><var class="varname">EOL_LF</var></a></var><span class="initializer"> = 3</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.ptr-set"><var class="varname">PTR_SET</var></a></var><span class="initializer"> = 0</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.eventbuffer.php#eventbuffer.constants.ptr-add"><var class="varname">PTR_ADD</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Свойства */</div>
    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="varname"><a href="class.eventbuffer.php#eventbuffer.props.length">$<var class="varname">length</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">readonly</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="varname"><a href="class.eventbuffer.php#eventbuffer.props.contiguous-space">$<var class="varname">contiguous_space</var></a></var>;</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Методы */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.add.php" class="methodname">add</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$data</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.addbuffer.php" class="methodname">addBuffer</a></span>(<span class="methodparam">
    
    <span class="type"><a href="class.eventbuffer.php" class="type EventBuffer">EventBuffer</a></span> <code class="parameter">$buf</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.appendfrom.php" class="methodname">appendFrom</a></span>(<span class="methodparam">
    
    <span class="type"><a href="class.eventbuffer.php" class="type EventBuffer">EventBuffer</a></span> <code class="parameter">$buf</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$len</code>
   </span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.construct.php" class="methodname">__construct</a></span>()</div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.copyout.php" class="methodname">copyout</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter reference">&$data</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$max_bytes</code>
   </span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.drain.php" class="methodname">drain</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$len</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.enablelocking.php" class="methodname">enableLocking</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.expand.php" class="methodname">expand</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$len</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.freeze.php" class="methodname">freeze</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$at_front</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.lock.php" class="methodname">lock</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.prepend.php" class="methodname">prepend</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$data</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.prependbuffer.php" class="methodname">prependBuffer</a></span>(<span class="methodparam">
    
    <span class="type"><a href="class.eventbuffer.php" class="type EventBuffer">EventBuffer</a></span> <code class="parameter">$buf</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.pullup.php" class="methodname">pullup</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$size</code>
   </span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.read.php" class="methodname">read</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$max_bytes</code>
   </span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.read.php" class="methodname">read</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$fd</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$howmuch</code>
   </span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.readline.php" class="methodname">readLine</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$eol_style</code>
   </span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.search.php" class="methodname">search</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$what</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$start</code>
    <span class="initializer"> = -1</span>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$end</code>
    <span class="initializer"> = -1</span>
   </span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.searcheol.php" class="methodname">searchEol</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$start</code>
    <span class="initializer"> = -1</span>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$eol_style</code>
    <span class="initializer"> = 
     <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.eol-any">EventBuffer::EOL_ANY</a></code></strong>
    </span>
   </span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.substr.php" class="methodname">substr</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$start</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$length</code>
   <span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.unfreeze.php" class="methodname">unfreeze</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$at_front</code>
   </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.unlock.php" class="methodname">unlock</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbuffer.write.php" class="methodname">write</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$fd</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$howmuch</code>
   <span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

   }</div>
   
  </div>
  
  <div class="section" id="eventbuffer.props">
   <h2 class="title">Свойства</h2>
   <dl>
    
     <dt id="eventbuffer.props.length">
      <var class="varname">length</var>
     </dt>
     <dd>
      <p class="para">
       Количество байтов, которые хранятся в буфере событий.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.props.contiguous-space">
      <var class="varname">contiguous_space</var>
     </dt>
     <dd>
      <p class="para">
       Количество байтов, которые хранятся последовательно в начале буфера.
       Байты в буфере могут храниться в отдельных фрагментах памяти;
       свойство возвращает количество байтов, которые хранятся в первом фрагменте.
      </p>
     </dd>
    
   </dl>
  </div>
  
  
  <div class="section" id="eventbuffer.constants">
   <h2 class="title">Предопределённые константы</h2>
   <dl>
    
     <dt id="eventbuffer.constants.eol-any">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.eol-any">EventBuffer::EOL_ANY</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Конец строки — последовательность произвольного количества символов
       возврата каретки и перевода строки. Этот формат не очень
       полезен и его сохраняют в основном для обратной совместимости.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.constants.eol-crlf">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.eol-crlf">EventBuffer::EOL_CRLF</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Конец строки — последовательность из необязательного
       возврата каретки и перевода строки. Говоря по-другому, либо
       <code class="literal">&quot;\r\n&quot;</code>, либо <code class="literal">&quot;\n&quot;</code>. Этот формат полезен
       при разборе текстовых интернет-протоколов,
       поскольку стандарты обычно предписывают обозначать конец строки
       последовательностью символов <code class="literal">&quot;\r\n&quot;</code>, но клиенты,
       которые не соблюдают стандарты, иногда говорят просто <code class="literal">&quot;\n&quot;</code>.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.constants.eol-crlf-strict">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.eol-crlf-strict">EventBuffer::EOL_CRLF_STRICT</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Конец строки — один символ возврата каретки, за которым идёт один символ перевода строки.
       Эту последовательность символов знают как <code class="literal">&quot;\r\n&quot;</code>. Значения кодировки ASCII:
       <code class="literal">0x0D</code><code class="literal">0x0A</code>.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.constants.eol-lf">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.eol-lf">EventBuffer::EOL_LF</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Конец строки — один символ перевода строки —
       <code class="literal">&quot;\n&quot;</code>. Значение в кодировке ASCII: <code class="literal">0x0A</code>.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.constants.ptr-set">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.ptr-set">EventBuffer::PTR_SET</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Флаг, который передают как аргумент в метод <span class="methodname"><strong>EventBuffer::setPosition()</strong></span>.
       Если флаг установили, указатель позиции перемещается в буфере в абсолютную позицию.
      </p>
     </dd>
    
    
     <dt id="eventbuffer.constants.ptr-add">
      <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.ptr-add">EventBuffer::PTR_ADD</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       То же, что и флаг <strong><code><a href="class.eventbuffer.php#eventbuffer.constants.ptr-set">EventBuffer::PTR_SET</a></code></strong>,
       за исключением того, что этот флаг заставляет метод
       <span class="methodname"><strong>EventBuffer::setPosition()</strong></span>
       перемещать позицию вперёд на заданное количество байтов, а не устанавливать
       абсолютную позицию.
      </p>
     </dd>
    
   </dl>
  </div>
  
 </div>

 







































































































































<h2>Содержание</h2><ul class="chunklist chunklist_reference"><li><a href="eventbuffer.add.php">EventBuffer::add</a> — Добавляет данные в конец буфера событий</li><li><a href="eventbuffer.addbuffer.php">EventBuffer::addBuffer</a> — Перемещает все данные из буфера экземпляру EventBuffer</li><li><a href="eventbuffer.appendfrom.php">EventBuffer::appendFrom</a> — Перемещает указанное количество байтов из исходного буфера в конец текущего буфера</li><li><a href="eventbuffer.construct.php">EventBuffer::__construct</a> — Создаёт объект EventBuffer</li><li><a href="eventbuffer.copyout.php">EventBuffer::copyout</a> — Копирует заданное количество байтов из начала буфера</li><li><a href="eventbuffer.drain.php">EventBuffer::drain</a> — Удаляет заданное количество байтов из начала буфера без копирования</li><li><a href="eventbuffer.enablelocking.php">EventBuffer::enableLocking</a> — Описание</li><li><a href="eventbuffer.expand.php">EventBuffer::expand</a> — Резервирует пространство в буфере</li><li><a href="eventbuffer.freeze.php">EventBuffer::freeze</a> — Предотвращает вызовы, которые изменяют буфер событий в случае успешного выполнения</li><li><a href="eventbuffer.lock.php">EventBuffer::lock</a> — Получает блокировку буфера</li><li><a href="eventbuffer.prepend.php">EventBuffer::prepend</a> — Записывает данные в начало буфера</li><li><a href="eventbuffer.prependbuffer.php">EventBuffer::prependBuffer</a> — Перемещает все данные из исходного буфера в начало текущего буфера</li><li><a href="eventbuffer.pullup.php">EventBuffer::pullup</a> — Линеаризует данные в буфере и
   возвращает их содержимое в виде строки</li><li><a href="eventbuffer.read.php">EventBuffer::read</a> — Читает данные из evbuffer и истощает прочитанные байты</li><li><a href="eventbuffer.readfrom.php">EventBuffer::readFrom</a> — Читает данные из файла в конец буфера</li><li><a href="eventbuffer.readline.php">EventBuffer::readLine</a> — Извлекает строку из начала буфера</li><li><a href="eventbuffer.search.php">EventBuffer::search</a> — Сканирует буфер на наличие строки</li><li><a href="eventbuffer.searcheol.php">EventBuffer::searchEol</a> — Сканирует буфер на наличие конца строки</li><li><a href="eventbuffer.substr.php">EventBuffer::substr</a> — Обрезает часть данных буфера</li><li><a href="eventbuffer.unfreeze.php">EventBuffer::unfreeze</a> — Повторно включает вызовы, которые изменяют буфер событий</li><li><a href="eventbuffer.unlock.php">EventBuffer::unlock</a> — Снимает блокировку, которую установили методом EventBuffer::lock</li><li><a href="eventbuffer.write.php">EventBuffer::write</a> — Записывает содержимое буфера в файл или сокет</li></ul>
</div>
<?php manual_footer($setup); ?>