(PECL ev >= 0.2.0)
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'implentation 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 alantour 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.
$path
,
float
$interval
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] )$path
,
float
$interval
,
callable
$callback
[,
mixed
$data
= NULL
[,
int
$priority
= 0
]] )
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.
Lecture seule. Le chemin vers le fichier dont on souhaite surveiller les modifications de statut.