<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'class.eventbase.php',
    1 => 'EventBase',
    2 => 'La clase EventBase',
  ),
  'up' => 
  array (
    0 => 'book.event.php',
    1 => 'Event',
  ),
  'prev' => 
  array (
    0 => 'event.timer.php',
    1 => 'Event::timer',
  ),
  'next' => 
  array (
    0 => 'eventbase.construct.php',
    1 => 'EventBase::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/event/eventbase.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.eventbase.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.eventbase" class="reference">
 <h1 class="title">La clase EventBase</h1>
 
 <div class="partintro"><p class="verinfo">(PECL event &gt;= 1.2.6-beta)</p>

  <div class="section" id="eventbase.intro">
   <h2 class="title">Introducción</h2>
   <p class="para">
    La clase <span class="classname"><strong class="classname">EventBase</strong></span> representa la estructura
    base de un evento libevent. Contiene un conjunto de eventos
    y puede verificar cuáles son los eventos activos.
   </p>
   <p class="para">
    Cada evento base tiene un <em>método</em> o un
    <em>backend</em> utilizado para determinar cuáles
    son los eventos listos. Estos métodos son :
    <code class="literal">select</code>, <code class="literal">poll</code>, <code class="literal">epoll</code>,
    <code class="literal">kqueue</code>, <code class="literal">devpoll</code>, <code class="literal">evport</code>
    y <code class="literal">win32</code>.
   </p>
   <p class="para">
    Para configurar un evento base a utilizar, o evitar un backend específico,
    la clase <span class="classname"><a href="class.eventconfig.php" class="classname">EventConfig</a></span> puede ser utilizada.
   </p>
   <div class="warning"><strong class="warning">Advertencia</strong>
    <p class="para">
     No <em>destruya</em> el objeto <span class="classname"><strong class="classname">EventBase</strong></span>
     hasta que los recursos asociados a los objetos <code class="literal">Event</code>
     no sean liberados. De lo contrario, esto llevará a resultados totalmente indefinidos.
    </p>
   </div>
  </div>

  <div class="section" id="eventbase.synopsis">
   <h2 class="title">Sinopsis de la Clase</h2>


   <div class="classsynopsis">
    <span class="ooclass">
     <strong class="classname"></strong>
    </span>

    <div class="classsynopsisinfo">
     <span class="ooclass">
      <span class="modifier">final</span>
      <span class="modifier">class</span> <strong class="classname">EventBase</strong>
     </span>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constantes */</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.eventbase.php#eventbase.constants.loop-once"><var class="varname">LOOP_ONCE</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.eventbase.php#eventbase.constants.loop-nonblock"><var class="varname">LOOP_NONBLOCK</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.eventbase.php#eventbase.constants.nolock"><var class="varname">NOLOCK</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.eventbase.php#eventbase.constants.startup-iocp"><var class="varname">STARTUP_IOCP</var></a></var><span class="initializer"> = 4</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.eventbase.php#eventbase.constants.no-cache-time"><var class="varname">NO_CACHE_TIME</var></a></var><span class="initializer"> = 8</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.eventbase.php#eventbase.constants.epoll-use-changelist"><var class="varname">EPOLL_USE_CHANGELIST</var></a></var><span class="initializer"> = 16</span>;</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Métodos */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">public</span>
   <span class="methodname"><a href="eventbase.construct.php" class="methodname">__construct</a></span>(<span class="methodparam">
    
    <span class="type"><a href="class.eventconfig.php" class="type EventConfig">EventConfig</a></span> <code class="parameter">$cfg</code>
   <span class="initializer"> = ?</span></span>)</div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbase.dispatch.php" class="methodname">dispatch</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="eventbase.exit.php" class="methodname">exit</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$timeout</code>
   <span class="initializer"> = ?</span></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="eventbase.free.php" class="methodname">free</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="eventbase.getfeatures.php" class="methodname">getFeatures</a></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="eventbase.getmethod.php" class="methodname">getMethod</a></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="eventbase.gettimeofdaycached.php" class="methodname">getTimeOfDayCached</a></span>(): <span class="type"><a href="language.types.float.php" class="type float">float</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="eventbase.gotexit.php" class="methodname">gotExit</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="eventbase.gotstop.php" class="methodname">gotStop</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="eventbase.loop.php" class="methodname">loop</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code>
   <span class="initializer"> = ?</span></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="eventbase.priorityinit.php" class="methodname">priorityInit</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$n_priorities</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="eventbase.reinit.php" class="methodname">reInit</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="eventbase.stop.php" class="methodname">stop</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   }</div>

  </div>

  <div class="section" id="eventbase.constants">
   <h2 class="title">Constantes predefinidas</h2>
   <dl>
    
     <dt id="eventbase.constants.loop-once">
      <strong><code><a href="class.eventbase.php#eventbase.constants.loop-once">EventBase::LOOP_ONCE</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Flag utilizado con el método <span class="methodname"><a href="eventbase.loop.php" class="methodname">EventBase::loop()</a></span>
       que significa: &quot;bloqueo mientras libevent tiene un evento activo, luego,
       salida una vez que todos los eventos activos han ejecutado sus
       funciones de retrollamada&quot;.
      </p>
     </dd>
    
    
     <dt id="eventbase.constants.loop-nonblock">
      <strong><code><a href="class.eventbase.php#eventbase.constants.loop-nonblock">EventBase::LOOP_NONBLOCK</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Flag utilizado con el método <span class="methodname"><a href="eventbase.loop.php" class="methodname">EventBase::loop()</a></span>
       que significa: &quot;no bloquear: ver qué eventos están listos actualmente,
       ejecutar sus funciones de retrollamada con una prioridad alta, luego, salir&quot;.
      </p>
     </dd>
    
    
     <dt id="eventbase.constants.nolock">
      <strong><code><a href="class.eventbase.php#eventbase.constants.nolock">EventBase::NOLOCK</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Flag de configuración. No bloquear la base del evento, incluso si
       un bloqueo había sido puesto en su lugar.
      </p>
     </dd>
    
    
     <dt id="eventbase.constants.startup-iocp">
      <strong><code><a href="class.eventbase.php#eventbase.constants.startup-iocp">EventBase::STARTUP_IOCP</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Flag de configuración específico de Windows. Activa el repartidor IOCP
       al inicio.
      </p>
     </dd>
    
    
     <dt id="eventbase.constants.no-cache-time">
      <strong><code><a href="class.eventbase.php#eventbase.constants.no-cache-time">EventBase::NO_CACHE_TIME</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Flag de configuración. En lugar de verificar el tiempo actual cada vez
       que el bucle de eventos está listo para ejecutar la función de retrollamada,
       el tiempo será verificado cada vez que el tiempo máximo de espera para la
       función de retrollamada sea alcanzado.
      </p>
     </dd>
    
    
     <dt id="eventbase.constants.epoll-use-changelist">
      <strong><code><a href="class.eventbase.php#eventbase.constants.epoll-use-changelist">EventBase::EPOLL_USE_CHANGELIST</a></code></strong>
     </dt>
     <dd>
      <p class="para">
       Si se utiliza el backend <code class="literal">epoll</code>, este flag
       significa que es seguro utilizar el código interno de modificación de lista
       interna a Libevent para agrupar los añadidos y las supresiones con el fin
       de intentar minimizar el número de llamadas al sistema.
      </p>
      <p class="para">
       El hecho de definir este flag hace que el código sea más rápido, pero puede
       enfrentarse a un bug de Linux: no es seguro utilizar este flag
       en presencia de fds clonados por dup() o una de sus variantes.
       Esto produciría un comportamiento extraño y muy difícil de diagnosticar.
      </p>
      <p class="para">
       Este flag también puede ser activado definiendo la variable de entorno
       <code class="literal">EVENT_EPOLL_USE_CHANGELIST</code>.
      </p>
      <p class="para">
       Este flag no tiene ningún efecto si se utiliza con un backend diferente a
       <code class="literal">epoll</code>.
      </p>
     </dd>
    
   </dl>
  </div>

 </div>

 






































































































<h2>Tabla de contenidos</h2><ul class="chunklist chunklist_reference"><li><a href="eventbase.construct.php">EventBase::__construct</a> — Construye un objeto EventBase</li><li><a href="eventbase.dispatch.php">EventBase::dispatch</a> — Despacha eventos pendientes</li><li><a href="eventbase.exit.php">EventBase::exit</a> — Detiene el env&iacute;o de los eventos</li><li><a href="eventbase.free.php">EventBase::free</a> — Libera los recursos asignados para el evento base</li><li><a href="eventbase.getfeatures.php">EventBase::getFeatures</a> — Devuelve una m&aacute;scara de las funcionalidades soportadas</li><li><a href="eventbase.getmethod.php">EventBase::getMethod</a> — Devuelve el m&eacute;todo de evento utilizado</li><li><a href="eventbase.gettimeofdaycached.php">EventBase::getTimeOfDayCached</a> — Devuelve el tiempo del evento base actual</li><li><a href="eventbase.gotexit.php">EventBase::gotExit</a> — Verifica si se ha solicitado que el bucle de eventos salga</li><li><a href="eventbase.gotstop.php">EventBase::gotStop</a> — Verifica si se ha solicitado que la iteraci&oacute;n de eventos se detenga</li><li><a href="eventbase.loop.php">EventBase::loop</a> — Distribuye los eventos en espera</li><li><a href="eventbase.priorityinit.php">EventBase::priorityInit</a> — Define el n&uacute;mero de prioridades por evento base</li><li><a href="eventbase.reinit.php">EventBase::reInit</a> — Reinicializa el evento base (despu&eacute;s de un 'fork')</li><li><a href="eventbase.stop.php">EventBase::stop</a> — Solicita a event_base que detenga la emisi&oacute;n de  eventos</li></ul>
</div>
<?php manual_footer($setup); ?>