Class Filesystem.Monitor.basic
- Description
Basic filesystem monitor.
This module is intended to be used for incremental scanning of a filesystem.
Supports FSEvents on MacOS X and Inotify on Linux to provide low overhead monitoring; other systems use a less efficient polling approach.
- See also
- Variable backend
protected Pike.Backend Filesystem.Monitor.basic.backend
- Description
Backend to use.
If
0
(zero) - use the default backend.
- Variable co_id
protected mixed Filesystem.Monitor.basic.co_id
- Description
Call-out identifier for backend_check() if in nonblocking mode.
Set to
1
when non_blocking mode without call_outs is in use.- See also
- Constant default_file_interval_factor
protected constant int Filesystem.Monitor.basic.default_file_interval_factor
- Description
The default factor to multiply default_max_dir_check_interval with to get the maximum number of seconds between checks of files.
The value can be changed by calling create().
The value can be overridden for individual files or directories by calling monitor().
Overload this constant to change the default.
- Constant default_max_dir_check_interval
protected constant int Filesystem.Monitor.basic.default_max_dir_check_interval
- Description
The default maximum number of seconds between checks of directories in seconds.
This value is multiplied with default_file_interval_factor to get the corresponding default maximum number of seconds for files.
The value can be changed by calling create().
The value can be overridden for individual files or directories by calling monitor().
Overload this constant to change the default.
- Constant default_stable_time
protected constant int Filesystem.Monitor.basic.default_stable_time
- Description
The default minimum number of seconds without changes for a change to be regarded as stable (see stable_data_change().
- Variable monitor_queue
protected ADT.Heap Filesystem.Monitor.basic.monitor_queue
- Description
Heap containing active Monitors that need polling.
The heap is sorted on Monitor()->next_poll.
- Variable monitors
protected mapping(string:Monitor) Filesystem.Monitor.basic.monitors
- Description
Mapping from monitored path to corresponding Monitor.
The paths are normalized to
canonic_path(path)
,- Note
All filesystems are handled as if case-sensitive. This should not be a problem for case-insensitive filesystems as long as case is maintained.
- Method create
Filesystem.Monitor.basic Filesystem.Monitor.basic(int|void max_dir_check_interval, int|void file_interval_factor, int|void stable_time)
- Description
Create a new monitor.
- Parameter max_dir_check_interval
Override of default_max_dir_check_interval.
- Parameter file_interval_factor
Override of default_file_interval_factor.
- Parameter stable_time
Override of default_stable_time.