La classe EvStat
EvStat
&reftitle.intro;
La classe EvStat surveille
un fichier du système de fichiers afin de regarder toutes modifications
de ces attributs. Elle appelle la commande stat()
sur ce chemin, à intervalle régulier (ou lorsque l'OS signale une modification)
et regarde s'il a été modifié depuis la dernière fois, et appelle la
fonction de rappel si c'est le cas.
Le chemin n'a pas besoin d'exister : la modification de "le chemin existe"
vers "le chemin n'existe pas est une modification de statut comme un autre.
La condition "le chemin n'existe pas" est signifié par la valeur 0 de
l'élément 'nlink' (retourné par la méthode
EvStat::attr).
Le chemin ne doit pas se terminer par un slash, ou contenir des composants
spéciaux comme '.' ou ...
Le chemin doit être absolu : s'il est relatif, et que le dossier de travail
change, alors le comportement sera indéfini.
Sachant qu'il n'y a pas d'interface de notification de changement portable,
l'implémentation portable appelle simplement la commande
stat() sur le chemin pour vérifier les modifications.
Pour ce cas, un intervalle régulier peut être spécifié. S'il est spécifié,
un intervalle de 0.0 (vivement recommandé) alors
une valeur par défaut non spécifié sera utilisé (au alentour de 5 secondes,
et peut être modifié dynamiquement). libev
va également imposer un intervalle minimum qui est actuellement au alentour
de 0.1, ce qui est largement suffisant.
Ce type de watcher n'est pas prévu pour un nombre important de watchers
EvStat, sachant que même avec les notifications
systèmes sur les modifications supportées par l'OS, ceci prend beaucoup
de ressources.
&reftitle.classsynopsis;
EvStat
EvStat
extends
EvWatcher
&Properties;
public
path
public
interval
&InheritedProperties;
&Methods;
&InheritedMethods;
&reftitle.properties;
interval
Lecture seule. La rapidité avec laquelle
une modification doit être détectée ; normalement, doit valoir
0.0 pour laisser libev
choisir une bonne valeur.
path
Lecture seule. Le chemin vers le fichier
dont on souhaite surveiller les modifications de statut.
&reference.ev.entities.evstat;