1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/reference/event/eventbase.xml
Mikhail Alferov d3a13747bc Update 23ea6be to En (#1062)
* Update pattern.matching.xml to en

* Update createstopped.xml to en

* Update construct.xml to en

* Update createstopped.xml исправил формулировку

* Update createstopped.xml to en

* Update construct.xml to en

* Update createstopped.xml to en

* Update construct.xml to en

* Update construct.xml Добавил кавычки к названию страницы

* Update createstopped.xml to en

* Update construct.xml to en

* Update createstopped.xml to en

* Update createstopped.xml исправил ошибку

* Update construct.xml to en

* Update createstopped.xml to en

* Update construct.xml to en

* Update createstopped.xml to en

* Update prev.xml to en

* Update stat.xml to en

* Update construct.xml to en

* Update createstopped.xml to en

* Update set.xml to en

* Update clear.xml to en

* Update feed.xml to en

* Update invoke.xml to en

* Update setcallback.xml to en

* Update book.xml to en

* Update event.callbacks.xml to en

* Update event.constructing.signal.events.xml to en

* Update event.flags.xml to en

* Update event.constructing.signal.events.xml исправил формулировку

* Update event.persistence.xml to en

* Update event.xml to en

* Update eventbase.xml to en

* Update eventbuffer.xml to en

* Update eventbufferevent.about.callbacks.xml to en

* Update eventbufferevent.xml to en

* Update eventconfig.xml to en

* Update eventsslcontext.xml to en

* Update eventutil.xml to en

* Update setup.xml to en

* Update construct.xml to en

* Update free.xml to en

* Update pending.xml to en

* Update event.callbacks.xml исправил формулировку

* Update set.xml to en

* Update set.xml формулировка

* Update settimer.xml to en

* Update signal.xml to en

* Update timer.xml to en

* Update free.xml to en

* Update getfeatures.xml to en

* Update gotexit.xml to en

* Update gotstop.xml to en

* Update loop.xml to en

* Update addbuffer.xml to en

* Update copyout.xml to en

* Update drain.xml to en

* Update prependbuffer.xml to en

* Update readline.xml to en

* Update search.xml to en

* Update searcheol.xml to en

* Update search.xml исправил формулировку

* Update unlock.xml to en

* Update connecthost.xml to en

* Update construct.xml to en

* Update createpair.xml to en

* Update disable.xml to en

* Update enable.xml to en

* Update free.xml to en

* Update getdnserrorstring.xml to en

* Update readbuffer.xml to en

* Update setcallbacks.xml to en

* Update setwatermark.xml to en

* Update setwatermark.xml Исправил ошибку

* Update sslfilter.xml to en

* Update sslsocket.xml to en

* Update avoidmethod.xml to en

* Update setmaxdispatchinterval.xml to en

* Update loadhosts.xml to en

* Update parseresolvconf.xml to en

* Update setoption.xml to en

* Update accept.xml to en

* Update setallowedmethods.xml to en

* Update setcallback.xml to en

* Update setdefaultcallback.xml to en

* Update makerequest.xml to en

* Update addheader.xml to en

* Update findheader.xml to en

* Update getconnection.xml to en

* Update sendreplystart.xml to en

* Update construct.xml to en

* Update construct.xml to en

* Update setsocketoption.xml to en

* Update pattern.matching.xml to en
2025-04-25 17:47:22 +03:00

222 lines
8.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 23ea6be076881a34e1d454e9680968ece085f7f6 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.eventbase" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс EventBase</title>
<titleabbrev>EventBase</titleabbrev>
<partintro>
<!-- {{{ EventBase intro -->
<section xml:id="eventbase.intro">
&reftitle.intro;
<para>
Класс <classname>EventBase</classname> представляет структуру
событийной базы модуля libevent. Класс содержит набор событий и умеет
опрашивать события для определения, какие из событий активны.
</para>
<para>
Каждой событийной базе доступны
<emphasis>метод</emphasis>
или
<emphasis>бэкенд</emphasis>, через которые
определяют готовые события. Доступные методы:
<literal>select</literal>,
<literal>poll</literal>,
<literal>epoll</literal>,
<literal>kqueue</literal>,
<literal>devpoll</literal>,
<literal>evport</literal>
и <literal>win32</literal>.
</para>
<para>
Класс <classname>EventConfig</classname> помогает настроить событийную базу
или исключить отдельные бэкенды.
</para>
<warning xml:id="eventbase.object-dtor-warning">
<para>
<emphasis>НЕ</emphasis>
разрушайте объект
<classname>EventBase</classname>,
пока не освободились связанные с объектом <literal>Event</literal> ресурсы,
иначе результаты станут непредсказуемы!
</para>
</warning>
</section>
<!-- }}} -->
<section xml:id="eventbase.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass>
<classname>EventBase</classname>
</ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<modifier>final</modifier>
<classname>EventBase</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.loop-once">EventBase::LOOP_ONCE</varname>
<initializer>1</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.loop-nonblock">EventBase::LOOP_NONBLOCK</varname>
<initializer>2</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.nolock">EventBase::NOLOCK</varname>
<initializer>1</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.startup-iocp">EventBase::STARTUP_IOCP</varname>
<initializer>4</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.no-cache-time">EventBase::NO_CACHE_TIME</varname>
<initializer>8</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="eventbase.constants.epoll-use-changelist">EventBase::EPOLL_USE_CHANGELIST</varname>
<initializer>16</initializer>
</fieldsynopsis>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.eventbase')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ EventBase constants -->
<section xml:id="eventbase.constants">
&reftitle.constants;
<variablelist>
<varlistentry xml:id="eventbase.constants.loop-once">
<term>
<constant>EventBase::LOOP_ONCE</constant>
</term>
<listitem>
<para>
Флаг указывают при вызове метода
<methodname>EventBase::loop</methodname>
и указывает: «блокировать, пока модуль libevent не получит активное событие, а затем
выйти после завершения callback-функции для всех
активных событий».
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="eventbase.constants.loop-nonblock">
<term>
<constant>EventBase::LOOP_NONBLOCK</constant>
</term>
<listitem>
<para>
Флаг указывают при вызове метода
<methodname>EventBase::loop</methodname>
и означает: «не блокировать: посмотреть, какие события уже готовы, запустить
обратные вызовы с наивысшим приоритетом, затем выйти».
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="eventbase.constants.nolock">
<term>
<constant>EventBase::NOLOCK</constant>
</term>
<listitem>
<para>
Флаг конфигурации. Не выделять блокировку для событийной базы,
даже если настроили блокирование.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="eventbase.constants.startup-iocp">
<term>
<constant>EventBase::STARTUP_IOCP</constant>
</term>
<listitem>
<para>
Флаг конфигурации только для ОС Windows.
Разрешает диспетчер IOCP при старте.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="eventbase.constants.no-cache-time">
<term>
<constant>EventBase::NO_CACHE_TIME</constant>
</term>
<listitem>
<para>
Флаг конфигурации. Вместо проверки текущего времени каждый раз
при готовности цикла запустить функцию обратного вызова по таймеру,
проверять время после каждого вызова такой функции.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="eventbase.constants.epoll-use-changelist">
<term>
<constant>EventBase::EPOLL_USE_CHANGELIST</constant>
</term>
<listitem>
<para>
На <literal>epoll</literal>-бэкендах флаг сообщает,
что можно безопасно использовать внутренний код
списка изменений Libevent для пакетного добавления и удаления в целях
минимизации количества системных вызовов.
</para>
<para>
Установка флага часто повышает производительность, но иногда
приводит к проявлению бага Linux: небезопасно использовать этот
флаг, если какой-либо файловый дескриптор склонировали
функцией dup() или аналогичной. Установка флага иногда приводит к странным
ошибкам, которые трудно диагностировать.
</para>
<para>
Флаг также активируют установкой переменной
окружения <literal>EVENT_EPOLL_USE_CHANGELIST</literal>.
</para>
<para>
Флаг действует только на <literal>epoll</literal>-бэкендах.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
</partintro>
&reference.event.entities.eventbase;
</reference><!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->