-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
initial translation in eio/functions
- Loading branch information
1 parent
4e41df3
commit bc728ff
Showing
6 changed files
with
635 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- EN-Revision: dd07341fae2c414adc1f700be0890ff32e8daab4 Maintainer: leonardolara Status: ready --> | ||
|
||
<refentry xml:id="function.eio-get-event-stream" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
<refnamediv> | ||
<refname>eio_get_event_stream</refname> | ||
<refpurpose>Obtém fluxo representando uma variável usada em comunicações internas com libeio</refpurpose> | ||
</refnamediv> | ||
|
||
<refsect1 role="description"> | ||
&reftitle.description; | ||
<methodsynopsis> | ||
<type>mixed</type><methodname>eio_get_event_stream</methodname> | ||
<void /> | ||
</methodsynopsis> | ||
<para> | ||
<function>eio_get_event_stream</function> adquire um fluxo representando uma | ||
variável utilizada nas comunicações internas com o libeio. Pode ser usado para vincular-se | ||
a algum loop de eventos fornecido por outra extensão PECL, por exemplo, | ||
libevent. | ||
</para> | ||
</refsect1> | ||
|
||
<refsect1 role="parameters"> | ||
&reftitle.parameters; | ||
&no.function.parameters; | ||
</refsect1> | ||
|
||
<refsect1 role="returnvalues"> | ||
&reftitle.returnvalues; | ||
<para> | ||
<function>eio_get_event_stream</function> retorna um fluxo em caso de sucesso; | ||
caso contrário, &null; | ||
</para> | ||
</refsect1> | ||
|
||
<refsect1 role="examples"> | ||
&reftitle.examples; | ||
<example> | ||
<title>Usando eio com libevent</title> | ||
<programlisting role="php"> | ||
<![CDATA[ | ||
<?php | ||
function my_eio_poll($fd, $events, $arg) { | ||
/* Algum regulamento do libevent pode vir aqui .. */ | ||
if (eio_nreqs()) { | ||
eio_poll(); | ||
} | ||
/* .. e aqui */ | ||
} | ||
function my_res_cb($d, $r) { | ||
var_dump($r); var_dump($d); | ||
} | ||
$base = event_base_new(); | ||
$event = event_new(); | ||
$fd = eio_get_event_stream(); | ||
var_dump($fd); | ||
eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data"); | ||
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data"); | ||
/* algumas outras chamadas eio_* aqui ... */ | ||
// define opções de evento | ||
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base)); | ||
// define base de evento | ||
event_base_set($event, $base); | ||
// habilita o evento | ||
event_add($event); | ||
// inicia loop de evento | ||
event_base_loop($base); | ||
/* O mesmo estará disponível através da interface libevent em buffer */ | ||
?> | ||
]]> | ||
</programlisting> | ||
&example.outputs.similar; | ||
<screen> | ||
<![CDATA[ | ||
int(3) | ||
int(0) | ||
string(8) "nop data" | ||
int(0) | ||
string(10) "mkdir data" | ||
]]> | ||
</screen> | ||
</example> | ||
</refsect1> | ||
|
||
|
||
</refentry> | ||
|
||
<!-- 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 | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- EN-Revision: 7db96bd04da66aa35db4941e683b785541e6d11d Maintainer: leonardolara Status: ready --> | ||
|
||
<refentry xml:id="function.eio-get-last-error" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
<refnamediv> | ||
<refname>eio_get_last_error</refname> | ||
<refpurpose>Retorna uma string que descreve o último erro associado a um recurso de requisição</refpurpose> | ||
</refnamediv> | ||
|
||
<refsect1 role="description"> | ||
&reftitle.description; | ||
<methodsynopsis> | ||
<type>string</type><methodname>eio_get_last_error</methodname> | ||
<methodparam><type>resource</type><parameter>req</parameter></methodparam> | ||
</methodsynopsis> | ||
<para> | ||
<function>eio_get_last_error</function> retorna uma string que descreve o último erro associado a um recurso <parameter>req</parameter>. | ||
</para> | ||
</refsect1> | ||
|
||
<refsect1 role="parameters"> | ||
&reftitle.parameters; | ||
<variablelist> | ||
<varlistentry> | ||
<term><parameter>req</parameter></term> | ||
<listitem> | ||
<para> | ||
O recurso da requisição. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
</variablelist> | ||
</refsect1> | ||
|
||
<refsect1 role="returnvalues"> | ||
&reftitle.returnvalues; | ||
<para> | ||
<function>eio_get_last_error</function> retorna uma string que descreve o último erro associado ao recurso da requisição especificado por <parameter>req</parameter>. | ||
</para> | ||
&warn.experimental.func; | ||
</refsect1> | ||
</refentry> | ||
|
||
<!-- 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 | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- EN-Revision: a4fe8cf4c7712c4af6d2b0dc2e3d7090f53f4e21 Maintainer: leonardolara Status: ready --> | ||
|
||
<refentry xml:id="function.eio-grp-add" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
<refnamediv> | ||
<refname>eio_grp_add</refname> | ||
<refpurpose>Adiciona uma requisição ao grupo de requisições</refpurpose> | ||
</refnamediv> | ||
|
||
<refsect1 role="description"> | ||
&reftitle.description; | ||
<methodsynopsis> | ||
<type>void</type><methodname>eio_grp_add</methodname> | ||
<methodparam><type>resource</type><parameter>grp</parameter></methodparam> | ||
<methodparam><type>resource</type><parameter>req</parameter></methodparam> | ||
</methodsynopsis> | ||
<para> | ||
<function>eio_grp_add</function> adiciona uma requisição ao grupo de requisições. | ||
</para> | ||
|
||
</refsect1> | ||
|
||
<refsect1 role="parameters"> | ||
&reftitle.parameters; | ||
<variablelist> | ||
<varlistentry> | ||
<term><parameter>grp</parameter></term> | ||
<listitem> | ||
<para> | ||
O recurso de grupo de requisição retornado por <function>eio_grp</function> | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
<varlistentry> | ||
<term><parameter>req</parameter></term> | ||
<listitem> | ||
<para> | ||
O recurso da requisição. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
</variablelist> | ||
</refsect1> | ||
|
||
<refsect1 role="returnvalues"> | ||
&reftitle.returnvalues; | ||
<para> | ||
&return.void; | ||
</para> | ||
</refsect1> | ||
|
||
<refsect1 role="examples"> | ||
&reftitle.examples; | ||
<example> | ||
<title>Agrupando requisições</title> | ||
<programlisting role="php"><![CDATA[ | ||
<?php | ||
/* | ||
* Cria um grupo de requisição para abrir, ler e fechar um arquivo | ||
*/ | ||
// Cria arquivo temporário e escreve alguns bytes nele | ||
$temp_filename = dirname(__FILE__) ."/eio-file.tmp"; | ||
$fp = fopen($temp_filename, "w"); | ||
fwrite($fp, "dado de exemplo"); | ||
fclose($fp); | ||
/* Função chamada quando as requisições em grupo terminam */ | ||
function my_grp_done($data, $result) { | ||
var_dump($result == 0); | ||
@unlink($data); | ||
} | ||
/* Função chamada quando eio_open() termina */ | ||
function my_grp_file_opened_callback($data, $result) { | ||
global $grp; | ||
// $result deve conter o descritor de arquivo | ||
var_dump($result > 0); | ||
// Cria requisição de eio_read() e a adiciona ao grupo | ||
// Passa o descritor de arquivo para a função de retorno | ||
$req = eio_read($result, 4, 0, | ||
EIO_PRI_DEFAULT, "my_grp_file_read_callback", $result); | ||
eio_grp_add($grp, $req); | ||
} | ||
/* Função chamada quando eio_read() termina */ | ||
function my_grp_file_read_callback($data, $result) { | ||
global $grp; | ||
// Lê os bytes | ||
var_dump($result); | ||
// Cria requisição de eio_close() e a adiciona ao grupo | ||
// $data should contain the file descriptor | ||
$req = eio_close($data); | ||
eio_grp_add($grp, $req); | ||
} | ||
// Cria grupo de requisição | ||
$grp = eio_grp("my_grp_done", $temp_filename); | ||
var_dump($grp); | ||
// Cria requisição de eio_open() e a adiciona ao grupo | ||
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL, | ||
EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL); | ||
eio_grp_add($grp, $req); | ||
// Processa requisições | ||
eio_event_loop(); | ||
?> | ||
]]></programlisting> | ||
&example.outputs.similar; | ||
<screen><![CDATA[ | ||
resource(6) of type (EIO Group Descriptor) | ||
bool(true) | ||
string(4) "dado" | ||
bool(true) | ||
]]></screen> | ||
</example> | ||
</refsect1> | ||
|
||
<refsect1 role="seealso"> | ||
&reftitle.seealso; | ||
<simplelist> | ||
<member><function>eio_grp</function></member> | ||
<member><function>eio_grp_cancel</function></member> | ||
<member><function>eio_grp_limit</function></member> | ||
</simplelist> | ||
</refsect1> | ||
|
||
</refentry> | ||
|
||
<!-- 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 | ||
--> |
Oops, something went wrong.