-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathevstat.xml
More file actions
144 lines (141 loc) · 5.63 KB
/
evstat.xml
File metadata and controls
144 lines (141 loc) · 5.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b4fbf4434abeca44c58575ff3967e5640f7877d5 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.evstat" role="class">
<title>La clase EvStat</title>
<titleabbrev>EvStat</titleabbrev>
<partintro>
<!-- {{{ EvStat intro -->
<section xml:id="evstat.intro">
&reftitle.intro;
<simpara>
La clase <classname>EvStat</classname> supervisa
un fichero del sistema de ficheros para detectar cualquier modificación
de sus atributos. Invoca el comando <emphasis>stat()</emphasis>
en esta ruta, a intervalos regulares (o cuando el sistema operativo notifica una modificación)
y verifica si ha sido modificado desde la última vez, llamando a la
función de retrollamada si es el caso.
</simpara>
<simpara>
La ruta no necesita existir: el cambio de "la ruta existe"
a "la ruta no existe" es una modificación de estado como cualquier otra.
La condición "la ruta no existe" está indicada por el valor 0 del
elemento <literal>'nlink'</literal> (devolvido por el método
<methodname>EvStat::attr</methodname>).
</simpara>
<simpara>
La ruta no debe terminar con un slash, ni contener componentes
especiales como <literal>'.'</literal> o <literal>..</literal>.
La ruta debe ser absoluta: si es relativa, y el directorio de trabajo
cambia, entonces el comportamiento será indefinido.
</simpara>
<simpara>
Dado que no hay una interfaz de notificación de cambios portable,
la implementación portable simplemente invoca el comando
<emphasis>stat()</emphasis> en la ruta para verificar las modificaciones.
Para este caso, un intervalo regular puede ser especificado. Si se especifica,
un intervalo de <literal>0.0 </literal> (altamente recomendado) entonces
un valor predeterminado no especificado será utilizado (alrededor de 5 segundos,
y puede ser modificado dinámicamente). <emphasis>libev</emphasis>
también impondrá un intervalo mínimo que actualmente está alrededor
de <literal>0.1</literal>, lo cual es ampliamente suficiente.
</simpara>
<simpara>
Este tipo de observador no está previsto para un gran número de observadores
<classname>EvStat</classname>, dado que incluso con las notificaciones
del sistema sobre modificaciones soportadas por el sistema operativo, esto consume muchos
recursos.
</simpara>
</section>
<!-- }}} -->
<section xml:id="evstat.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass>
<classname>EvStat</classname>
</ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>EvStat</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>EvWatcher</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<fieldsynopsis>
<modifier>public</modifier>
<varname linkend="evstat.props.path">path</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<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:constructorsynopsis[not(@role='procedural')])"/>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evstat')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evwatcher')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])"/>
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ EvStat properties -->
<section xml:id="evstat.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="evstat.props.interval">
<term>
<varname>interval</varname>
</term>
<listitem>
<simpara>
<emphasis>Solo lectura</emphasis>. La rapidez con la que
una modificación debe ser detectada; normalmente, debe valer
<literal>0.0</literal> para dejar que <emphasis>libev</emphasis>
elija un buen valor.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="evstat.props.path">
<term>
<varname>path</varname>
</term>
<listitem>
<simpara>
<emphasis>Solo lectura</emphasis>. La ruta hacia el fichero
del cual se desean supervisar las modificaciones de estado.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
</partintro>
&reference.ev.entities.evstat;
</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
-->