Add: evcheck, evchild, evstat docs

Change: Ev: createstopped methods and the watcher factory methods made final

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@328902 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Ruslan Osmanov 2012-12-27 07:53:59 +00:00
parent 8b82a7e762
commit da1f814030
29 changed files with 416 additions and 405 deletions

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvCheck::createStopped</methodname>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvChild::createStopped</methodname>
<methodparam><type>int</type><parameter>pid</parameter></methodparam>
<methodparam><type>bool</type><parameter>trace</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvEmbed::createStopped</methodname>
<methodparam><type>object</type><parameter>other</parameter></methodparam>
<methodparam choice="opt"><type>callable</type><parameter>callback</parameter></methodparam>

View file

@ -4,7 +4,7 @@
<refentry xml:id="evembed.sweep" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvEmbed::sweep</refname>
<refpurpose>The sweep purpose</refpurpose>
<refpurpose>Make a single, non-blocking sweep over the embedded loop.</refpurpose>
</refnamediv>
<refsect1 role="description">

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvFork::createStopped</methodname>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvIdle::createStopped</methodname>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>data</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvIo::createStopped</methodname>
<methodparam><type>string</type><parameter>fd</parameter></methodparam>
<methodparam><type>string</type><parameter>events</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvCheck</type><methodname>EvLoop::check</methodname>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvChild</type><methodname>EvLoop::child</methodname>
<methodparam><type>string</type><parameter>pid</parameter></methodparam>
<methodparam><type>string</type><parameter>trace</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvEmbed</type><methodname>EvLoop::embed</methodname>
<methodparam><type>string</type><parameter>other</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>callback</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvFork</type><methodname>EvLoop::fork</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvIdle</type><methodname>EvLoop::idle</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvIo</type><methodname>EvLoop::io</methodname>
<methodparam><type>mixed</type><parameter>fd</parameter></methodparam>
<methodparam><type>int</type><parameter>events</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvPeriodic</type><methodname>EvLoop::periodic</methodname>
<methodparam><type>double</type><parameter>offset</parameter></methodparam>
<methodparam><type>double</type><parameter>interval</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvPrepare</type><methodname>EvLoop::prepare</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvSignal</type><methodname>EvLoop::signal</methodname>
<methodparam><type>int</type><parameter>signum</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvStat</type><methodname>EvLoop::stat</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam><type>double</type><parameter>interval</parameter></methodparam>

View file

@ -11,6 +11,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <type>EvTimer</type><methodname>EvLoop::timer</methodname>
<methodparam><type>double</type><parameter>after</parameter></methodparam>
<methodparam><type>double</type><parameter>repeat</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>EvPeriodic</type><methodname>EvPeriodic::createStopped</methodname>
<methodparam><type>double</type><parameter>offset</parameter></methodparam>
<methodparam><type>double</type><parameter>interval</parameter></methodparam>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>EvPrepare</type><methodname>EvPrepare::createStopped</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam

View file

@ -4,24 +4,27 @@
<refentry xml:id="evsignal.createstopped" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvSignal::createStopped</refname>
<refpurpose>The createStopped purpose</refpurpose>
<refpurpose>Create stopped EvSignal watcher object</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvSignal::createStopped</methodname>
<methodparam><type>string</type><parameter>signum</parameter></methodparam>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>EvSignal</type><methodname>EvSignal::createStopped</methodname>
<methodparam><type>int</type><parameter>signum</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Create stopped EvSignal watcher object. Unlike
<methodname>EvSignal::__construct</methodname>, this method does&apos;t
start the watcher automatically.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -31,7 +34,8 @@
<term><parameter>signum</parameter></term>
<listitem>
<para>
Signal number. You can use one exported by <emphasis>pcntl</emphasis>
extension. See also <literal>signal(7)</literal> man page.
</para>
</listitem>
</varlistentry>
@ -39,7 +43,7 @@
<term><parameter>callback</parameter></term>
<listitem>
<para>
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
</para>
</listitem>
</varlistentry>
@ -47,7 +51,7 @@
<term><parameter>data</parameter></term>
<listitem>
<para>
Custom data associated with the watcher.
</para>
</listitem>
</varlistentry>
@ -55,7 +59,7 @@
<term><parameter>priority</parameter></term>
<listitem>
<para>
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
</para>
</listitem>
</varlistentry>
@ -65,37 +69,15 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns EvSignal object on success.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvSignal::createStopped</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
/* ... */
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
<member><methodname>EvWatcher::start</methodname></member>
<member><methodname>EvSignal::__construct</methodname></member>
</simplelist>
</refsect1>

View file

@ -21,32 +21,33 @@
<para>
The path does not need to exist: changing from "path exists" to "path does
not exist" is a status change like any other. The condition "path does not
exist" is signified by the item <constant>'nlink'</constant> being 0 (which is otherwise always forced to be at
least 1) and all the other fields of the Statdata object having unspecified
contents.
exist" is signified by the <constant>'nlink'</constant> item being 0(returned by
<methodname>EvStat::attr</methodname> method).
</para>
<para>
The path must not end in a slash or contain special components such as . or
... The path should be absolute: if it is relative and your working
directory changes, then the behaviour is undefined.
The path must not end in a slash or contain special components such as
<constant>'.'</constant> or <constant>..</constant>. The path should be
absolute: if it is relative and your working directory changes, then the
behaviour is undefined.
</para>
<para>
Since there is no portable change notification interface available, the
portable implementation simply calls stat() regularly on the path to see if
it changed somehow. You can specify a recommended polling interval for this
case. If you specify a polling interval of 0.0 (highly recommended!) then a
suitable, unspecified default value will be used (which you can expect to
be around five seconds, although this might change dynamically). libev will
also impose a minimum interval which is currently around 0.1, but thats
usually overkill.
portable implementation simply calls <emphasis>stat()</emphasis> regularly
on the path to see if it changed somehow. You can specify a recommended
polling interval for this case. If you specify a polling interval of
<constant>0.0 </constant>(highly recommended) then a suitable, unspecified
default value will be used(which you can expect to be around five seconds,
although this might change dynamically). <emphasis>libev</emphasis> will
also impose a minimum interval which is currently around
<constant>0.1</constant>, but thats usually overkill.
</para>
<para>
This watcher type is not meant for massive numbers of Stat watchers, as
even with OS-supported change notifications, this can be
resource-intensive.
This watcher type is not meant for massive numbers of
<classname>EvStat</classname> watchers, as even with OS-supported change
notifications, this can be resource-intensive.
</para>
</section>
<!-- }}} -->
@ -80,6 +81,8 @@
<varname linkend="evstat.props.interval">interval</varname>
</fieldsynopsis>
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('evwatcher.synopsis')/descendant::db:fieldsynopsis)" />
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evstat')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
@ -97,40 +100,24 @@
<section xml:id="evstat.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="evstat.props.is-active">
<term><varname>is_active</varname></term>
<varlistentry xml:id="evstat.props.interval">
<term><varname>interval</varname></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.data">
<term><varname>data</varname></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.is-pending">
<term><varname>is_pending</varname></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.priority">
<term><varname>priority</varname></term>
<listitem>
<para></para>
<para>
<emphasis>Readonly</emphasis>.
Hint on how quickly a change is expected to be detected and should
normally be specified as <constant>0.0</constant> to let
<emphasis>libev</emphasis> choose a suitable value.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.path">
<term><varname>path</varname></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.interval">
<term><varname>interval</varname></term>
<listitem>
<para></para>
<para>
<emphasis>Readonly</emphasis>.
The path to wait for status changes on.
</para>
</listitem>
</varlistentry>
</variablelist>

View file

@ -4,21 +4,19 @@
<refentry xml:id="evstat.attr" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvStat::attr</refname>
<refpurpose>The attr purpose</refpurpose>
<refpurpose>Returns the values most recently detected by Ev</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>EvStat::attr</methodname>
<modifier>public</modifier> <type>array</type><methodname>EvStat::attr</methodname>
<void />
</methodsynopsis>
<para>
Returns array of the values most recently detected by Ev
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -29,37 +27,117 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns array with the values most recently detect by Ev(without actual
<literal>stat</literal>&apos;ing):
<table>
<title>
List for item keys of the array returned by <methodname>EvStat::attr</methodname>
</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>'dev'</constant></entry>
<entry>ID of device containing file</entry>
</row>
<row>
<entry><constant>'ino'</constant></entry>
<entry>inode number</entry>
</row>
<row>
<entry><constant>'mode'</constant></entry>
<entry>protection</entry>
</row>
<row>
<entry><constant>'nlink'</constant></entry>
<entry>number of hard links</entry>
</row>
<row>
<entry><constant>'uid'</constant></entry>
<entry>user ID of owner</entry>
</row>
<row>
<entry><constant>'size'</constant></entry>
<entry>total size, in bytes</entry>
</row>
<row>
<entry><constant>'gid'</constant></entry>
<entry>group ID of owner</entry>
</row>
<row>
<entry><constant>'rdev'</constant></entry>
<entry>device ID (if special file)</entry>
</row>
<row>
<entry><constant>'blksize'</constant></entry>
<entry>blocksize for file system I/O</entry>
</row>
<row>
<entry><constant>'blocks'</constant></entry>
<entry>number of 512B blocks allocated</entry>
</row>
<row>
<entry><constant>'atime'</constant></entry>
<entry>time of last access</entry>
</row>
<row>
<entry><constant>'ctime'</constant></entry>
<entry>time of last status change</entry>
</row>
<row>
<entry><constant>'mtime'</constant></entry>
<entry>time of last modification</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
See <literal>stat(2)</literal> man page for details.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvStat::attr</function> example</title>
<programlisting role="php">
<example>
<title>Monitor changes of /var/log/messages</title>
<programlisting role="php">
<![CDATA[
<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";
/* ... */
$attr = $w->attr();
if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});
Ev::run();
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
<member><methodname>EvStat::prev</methodname></member>
<member><methodname>EvStat::stat</methodname></member>
</simplelist>
</refsect1>

View file

@ -4,7 +4,7 @@
<refentry xml:id="evstat.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvStat::__construct</refname>
<refpurpose>The __construct purpose</refpurpose>
<refpurpose>Constructs EvStat watcher object</refpurpose>
</refnamediv>
<refsect1 role="description">
@ -12,17 +12,17 @@
<methodsynopsis>
<modifier>public</modifier> <methodname>EvStat::__construct</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam><type>string</type><parameter>interval</parameter></methodparam>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Constructs EvStat watcher object and starts the watcher automatically.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -32,7 +32,7 @@
<term><parameter>path</parameter></term>
<listitem>
<para>
The path to wait for status changes on.
</para>
</listitem>
</varlistentry>
@ -40,7 +40,9 @@
<term><parameter>interval</parameter></term>
<listitem>
<para>
Hint on how quickly a change is expected to be detected and should
normally be specified as <constant>0.0</constant> to let
<emphasis>libev</emphasis> choose a suitable value.
</para>
</listitem>
</varlistentry>
@ -48,7 +50,7 @@
<term><parameter>callback</parameter></term>
<listitem>
<para>
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
</para>
</listitem>
</varlistentry>
@ -56,7 +58,7 @@
<term><parameter>data</parameter></term>
<listitem>
<para>
Custom data associated with the watcher.
</para>
</listitem>
</varlistentry>
@ -64,7 +66,7 @@
<term><parameter>priority</parameter></term>
<listitem>
<para>
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
</para>
</listitem>
</varlistentry>
@ -74,38 +76,39 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns EvStat watcher object on succes.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvStat::__construct</function> example</title>
<programlisting role="php">
<example>
<title>Monitor changes of /var/log/messages</title>
<programlisting role="php">
<![CDATA[
<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";
/* ... */
$attr = $w->attr();
if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});
Ev::run();
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
</simplelist>
</programlisting>
</example>
</refsect1>
</refentry>

View file

@ -4,25 +4,27 @@
<refentry xml:id="evstat.createstopped" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvStat::createStopped</refname>
<refpurpose>The createStopped purpose</refpurpose>
<refpurpose>Create a stopped EvStat watcher object</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvStat::createStopped</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam><type>string</type><parameter>interval</parameter></methodparam>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Creates EvStat watcher object, but doesn&apos;t start it
automatically(unlike <methodname>EvStat::__construct</methodname>).
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -32,7 +34,7 @@
<term><parameter>path</parameter></term>
<listitem>
<para>
The path to wait for status changes on.
</para>
</listitem>
</varlistentry>
@ -40,7 +42,9 @@
<term><parameter>interval</parameter></term>
<listitem>
<para>
Hint on how quickly a change is expected to be detected and should
normally be specified as <constant>0.0</constant> to let
<emphasis>libev</emphasis> choose a suitable value.
</para>
</listitem>
</varlistentry>
@ -48,7 +52,7 @@
<term><parameter>callback</parameter></term>
<listitem>
<para>
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
</para>
</listitem>
</varlistentry>
@ -56,7 +60,7 @@
<term><parameter>data</parameter></term>
<listitem>
<para>
Custom data associated with the watcher.
</para>
</listitem>
</varlistentry>
@ -64,7 +68,7 @@
<term><parameter>priority</parameter></term>
<listitem>
<para>
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
</para>
</listitem>
</varlistentry>
@ -74,37 +78,15 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns a stopped EvStat watcher object on success.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvStat::createStopped</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
/* ... */
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
<member><methodname>EvStat::__construct</methodname></member>
<member><methodname>EvWatcher::start</methodname></member>
</simplelist>
</refsect1>

View file

@ -4,7 +4,7 @@
<refentry xml:id="evstat.prev" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvStat::prev</refname>
<refpurpose>The prev purpose</refpurpose>
<refpurpose>Returns the previous set of values returned by EvStat::attr</refpurpose>
</refnamediv>
<refsect1 role="description">
@ -14,11 +14,10 @@
<void />
</methodsynopsis>
<para>
Just like <methodname>EvStat::attr</methodname>, but returns the previous
set of values.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -29,37 +28,18 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an array with the same structure as the array returned by
<methodname>EvStat::attr</methodname>. The array contains previously
detected values.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvStat::prev</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
/* ... */
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
<member><methodname>EvStat::attr</methodname></member>
<member><methodname>EvStat::stat</methodname></member>
</simplelist>
</refsect1>

View file

@ -4,21 +4,22 @@
<refentry xml:id="evstat.stat" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EvStat::stat</refname>
<refpurpose>The stat purpose</refpurpose>
<refpurpose>Initiates the stat call</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>EvStat::stat</methodname>
<modifier>public</modifier> <type>bool</type><methodname>EvStat::stat</methodname>
<void />
</methodsynopsis>
<para>
Initiates the stat call(updates internal cache).
It stats(using <literal>lstat</literal>) the <varname>path</varname>
specified in the watcher and sets to the values found.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
@ -29,37 +30,15 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns &true; if <varname>path</varname> exists. Otherwise &false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>EvStat::stat</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
/* ... */
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member></member>
<member><methodname>EvStat::attr</methodname></member>
<member><methodname>EvStat::prev</methodname></member>
</simplelist>
</refsect1>

View file

@ -10,6 +10,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>final</modifier>
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvTimer::createStopped</methodname>
<methodparam><type>string</type><parameter>after</parameter></methodparam>
<methodparam><type>string</type><parameter>repeat</parameter></methodparam>

View file

@ -6,179 +6,179 @@
<versions>
<!-- Methods -->
<function name='ev::supportedbackends' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::recommendedbackends' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::embeddablebackends' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::sleep' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::time' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::feedsignal' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::run' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::now' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::iteration' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::depth' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::verify' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::backend' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::nowupdate' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::suspend' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::resume' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::defaultloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::loopfork' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::verify' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::invokepending' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::nowupdate' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::suspend' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::resume' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::backend' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::now' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::run' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::feedsignalevent' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::io' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::timer' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::periodic' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::signal' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::child' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::stat' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::idle' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::check' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::prepare' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::embed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evloop::fork' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evwatcher::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evio::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::again' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evtimer::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::again' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::at' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evperiodic::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evsignal::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evchild::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::attr' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::prev' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::stat' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evstat::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evidle::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evcheck::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evprepare::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::set' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::sweep' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evembed::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::__construct' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::createstopped' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::start' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::stop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::clear' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::invoke' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::feed' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::getloop' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::keepalive' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='evfork::setcallback' from='PECL ev &gt;= 0.2.0 (beta)'/>
<function name='ev::supportedbackends' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::recommendedbackends' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::embeddablebackends' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::sleep' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::time' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::feedsignal' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::run' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::now' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::iteration' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::depth' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::verify' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::backend' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::nowupdate' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::suspend' from='PECL ev &gt;= 0.2.0'/>
<function name='ev::resume' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::defaultloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::loopfork' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::verify' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::invokepending' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::nowupdate' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::suspend' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::resume' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::backend' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::now' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::run' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::feedsignalevent' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::io' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::timer' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::periodic' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::signal' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::child' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::stat' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::idle' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::check' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::prepare' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::embed' from='PECL ev &gt;= 0.2.0'/>
<function name='evloop::fork' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evwatcher::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evio::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::again' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evtimer::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::again' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::at' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evperiodic::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evsignal::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evchild::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::attr' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::prev' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::stat' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evstat::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evidle::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evcheck::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evprepare::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::set' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::sweep' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evembed::setcallback' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::__construct' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::createstopped' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::start' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::stop' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::clear' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::invoke' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::feed' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::getloop' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::keepalive' from='PECL ev &gt;= 0.2.0'/>
<function name='evfork::setcallback' from='PECL ev &gt;= 0.2.0'/>
</versions>
<!-- Keep this comment at the end of the file