2013-03-13 18:04:36 +00:00
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
|
<!-- $Revision$ -->
|
|
|
|
|
<phpdoc:classref xml:id="class.eventbufferevent" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
|
<title>The EventBufferEvent class</title>
|
|
|
|
|
<titleabbrev>EventBufferEvent</titleabbrev>
|
|
|
|
|
<partintro>
|
|
|
|
|
<!-- {{{ EventBufferEvent intro -->
|
|
|
|
|
<section xml:id="eventbufferevent.intro">
|
|
|
|
|
&reftitle.intro;
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
Represents Libevent's buffer event.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
Usually an application wants to perform some amount of data buffering in
|
|
|
|
|
addition to just responding to events. When we want to write data, for
|
|
|
|
|
example, the usual pattern looks like:
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
<orderedlist>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
Decide that we want to write some data to a connection; put that data in
|
|
|
|
|
a buffer.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
Wait for the connection to become writable
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
Write as much of the data as we can
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
Remember how much we wrote, and if we still have more data to write,
|
|
|
|
|
wait for the connection to become writable again.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</orderedlist>
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
This buffered I/O pattern is common enough that Libevent provides a
|
|
|
|
|
generic mechanism for it. A "buffer event" consists of an underlying
|
|
|
|
|
transport (like a socket), a read buffer, and a write buffer. Instead of
|
|
|
|
|
regular events, which give callbacks when the underlying transport is
|
|
|
|
|
ready to be read or written, a buffer event invokes its user-supplied
|
|
|
|
|
callbacks when it has read or written enough data.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
</section>
|
|
|
|
|
<!-- }}} -->
|
|
|
|
|
<section xml:id="eventbufferevent.synopsis">
|
|
|
|
|
&reftitle.classsynopsis;
|
|
|
|
|
|
|
|
|
|
<!-- {{{ Synopsis -->
|
|
|
|
|
<classsynopsis>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<ooclass>
|
|
|
|
|
<classname>EventBufferEvent</classname>
|
|
|
|
|
</ooclass>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<!-- {{{ Class synopsis -->
|
|
|
|
|
<classsynopsisinfo>
|
|
|
|
|
<ooclass>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<modifier>final</modifier>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<classname>EventBufferEvent</classname>
|
|
|
|
|
</ooclass>
|
|
|
|
|
</classsynopsisinfo>
|
|
|
|
|
<!-- }}} -->
|
|
|
|
|
<classsynopsisinfo role="comment">Constants</classsynopsisinfo>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.reading">EventBufferEvent::READING</varname>
|
|
|
|
|
<initializer>1</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.writing">EventBufferEvent::WRITING</varname>
|
|
|
|
|
<initializer>2</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.eof">EventBufferEvent::EOF</varname>
|
|
|
|
|
<initializer>16</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.error">EventBufferEvent::ERROR</varname>
|
|
|
|
|
<initializer>32</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.timeout">EventBufferEvent::TIMEOUT</varname>
|
|
|
|
|
<initializer>64</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.connected">EventBufferEvent::CONNECTED</varname>
|
|
|
|
|
<initializer>128</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.opt-close-on-free">EventBufferEvent::OPT_CLOSE_ON_FREE</varname>
|
|
|
|
|
<initializer>1</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.opt-threadsafe">EventBufferEvent::OPT_THREADSAFE</varname>
|
|
|
|
|
<initializer>2</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.opt-defer-callbacks">EventBufferEvent::OPT_DEFER_CALLBACKS</varname>
|
|
|
|
|
<initializer>4</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.opt-unlock-callbacks">EventBufferEvent::OPT_UNLOCK_CALLBACKS</varname>
|
|
|
|
|
<initializer>8</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.ssl-open">EventBufferEvent::SSL_OPEN</varname>
|
|
|
|
|
<initializer>0</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.ssl-connecting">EventBufferEvent::SSL_CONNECTING</varname>
|
|
|
|
|
<initializer>1</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>const</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.constants.ssl-accepting">EventBufferEvent::SSL_ACCEPTING</varname>
|
|
|
|
|
<initializer>2</initializer>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
|
2013-03-26 11:14:33 +00:00
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>public</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-26 11:14:33 +00:00
|
|
|
|
<varname linkend="eventbufferevent.props.fd">fd</varname>
|
|
|
|
|
</fieldsynopsis>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>public</modifier>
|
2020-11-02 15:39:04 +00:00
|
|
|
|
<type>int</type>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varname linkend="eventbufferevent.props.priority">priority</varname>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>public</modifier>
|
|
|
|
|
<modifier>readonly</modifier>
|
|
|
|
|
<type>EventBuffer</type>
|
|
|
|
|
<varname linkend="eventbufferevent.props.input">input</varname>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<fieldsynopsis>
|
|
|
|
|
<modifier>public</modifier>
|
|
|
|
|
<modifier>readonly</modifier>
|
|
|
|
|
<type>EventBuffer</type>
|
|
|
|
|
<varname linkend="eventbufferevent.props.output">output</varname>
|
|
|
|
|
</fieldsynopsis>
|
|
|
|
|
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
|
|
|
|
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.eventbufferevent')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
|
|
|
|
|
</classsynopsis>
|
|
|
|
|
<!-- }}} -->
|
|
|
|
|
</section>
|
|
|
|
|
<!-- {{{ EventBufferEvent properties -->
|
|
|
|
|
<section xml:id="eventbufferevent.props">
|
|
|
|
|
&reftitle.properties;
|
|
|
|
|
<variablelist>
|
2013-03-26 11:14:33 +00:00
|
|
|
|
<varlistentry xml:id="eventbufferevent.props.fd">
|
|
|
|
|
<term>
|
|
|
|
|
<varname>fd</varname>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
2013-07-18 15:20:51 +00:00
|
|
|
|
Numeric file descriptor associated with the buffer event. Normally
|
|
|
|
|
represents a bound socket. Equals to &null;, if there is no file
|
|
|
|
|
descriptor(socket) associated with the buffer event.
|
2013-03-26 11:14:33 +00:00
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<varlistentry xml:id="eventbufferevent.props.priority">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<varname>priority</varname>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
The priority of the events used to implement the buffer event.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.props.input">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<varname>input</varname>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
Underlying input buffer object(
|
|
|
|
|
<classname>EventBuffer</classname>
|
|
|
|
|
)
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.props.output">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<varname>output</varname>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
Underlying output buffer object(
|
|
|
|
|
<classname>EventBuffer</classname>
|
|
|
|
|
)
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
</variablelist>
|
|
|
|
|
</section>
|
|
|
|
|
<!-- }}} -->
|
|
|
|
|
<!-- {{{ EventBufferEvent constants -->
|
|
|
|
|
<section xml:id="eventbufferevent.constants">
|
|
|
|
|
&reftitle.constants;
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.reading">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::READING</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
2019-07-15 14:29:36 +00:00
|
|
|
|
An event occurred during a read operation on the bufferevent. See the
|
2013-03-13 18:14:25 +00:00
|
|
|
|
other flags for which event it was.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.writing">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::WRITING</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
2019-07-15 14:29:36 +00:00
|
|
|
|
An event occurred during a write operation on the bufferevent. See the
|
2013-03-13 18:14:25 +00:00
|
|
|
|
other flags for which event it was.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.eof">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::EOF</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
Got an end-of-file indication on the buffer event.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.error">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::ERROR</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
An error occurred during a bufferevent operation. For more information
|
|
|
|
|
on what the error was, call
|
|
|
|
|
<methodname>EventUtil::getLastSocketErrno</methodname>
|
|
|
|
|
and/or
|
|
|
|
|
<methodname>EventUtil::getLastSocketError</methodname>
|
|
|
|
|
.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.timeout">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::TIMEOUT</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
|
|
|
|
<para></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.connected">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::CONNECTED</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
Finished a requested connection on the bufferevent.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.opt-close-on-free">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::OPT_CLOSE_ON_FREE</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
2014-03-29 21:56:29 +00:00
|
|
|
|
When the buffer event is freed, close the underlying transport. This
|
2013-03-13 18:14:25 +00:00
|
|
|
|
will close an underlying socket, free an underlying buffer event, etc.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.opt-threadsafe">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::OPT_THREADSAFE</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
Automatically allocate locks for the bufferevent, so that it’s safe
|
|
|
|
|
to use from multiple threads.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.opt-defer-callbacks">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::OPT_DEFER_CALLBACKS</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
When this flag is set, the bufferevent defers all of its callbacks. See
|
|
|
|
|
<link
|
2013-03-13 18:04:36 +00:00
|
|
|
|
xlink:href="http://www.wangafu.net/~nickm/libevent-book/Ref6_bufferevent.html#_deferred_callbacks">Fast
|
2013-03-13 18:14:25 +00:00
|
|
|
|
portable non-blocking network programming with Libevent, Deferred callbacks</link>
|
|
|
|
|
.
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.opt-unlock-callbacks">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::OPT_UNLOCK_CALLBACKS</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
By default, when the bufferevent is set up to be threadsafe, the buffer
|
|
|
|
|
event’s locks are held whenever the any user-provided callback is
|
|
|
|
|
invoked. Setting this option makes Libevent release the buffer
|
|
|
|
|
event’s lock when it’s invoking the callbacks.
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.ssl-open">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::SSL_OPEN</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
The SSL handshake is done
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.ssl-connecting">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::SSL_CONNECTING</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
SSL is currently performing negotiation as a client
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry xml:id="eventbufferevent.constants.ssl-accepting">
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<term>
|
|
|
|
|
<constant>EventBufferEvent::SSL_ACCEPTING</constant>
|
|
|
|
|
</term>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
<listitem>
|
2013-03-13 18:14:25 +00:00
|
|
|
|
<para>
|
|
|
|
|
SSL is currently performing negotiation as a server
|
|
|
|
|
</para>
|
2013-03-13 18:04:36 +00:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
</variablelist>
|
|
|
|
|
</section>
|
|
|
|
|
<!-- }}} -->
|
|
|
|
|
</partintro>
|
|
|
|
|
|
|
|
|
|
&reference.event.entities.eventbufferevent;
|
|
|
|
|
|
|
|
|
|
</phpdoc:classref>
|
|
|
|
|
<!-- 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
|
|
|
|
|
-->
|