NAME
AnyEvent::Filesys::Watcher::Inotify2 - Linux file system watcher
SYNOPSIS
$watcher = AnyEvent::Filesys::Watcher::Inotify2->new(
directories => ['lib', 't'],
callback => sub { warn "you're working too much"},
);
# This has the same effect as:
$watcher = AnyEvent::Filesys::Watcher->new(
backend => 'Inotify2',
directories => ['lib', 't'],
callback => sub { warn "you're working too much"},
);
DESCRIPTION
This is the Linux backend for AnyEvent::Filesys::Watcher. It uses Linux::Inotify2 as the underlying implementation.
CONSTRUCTOR
You should normally call the constructor of the base class that will pick the optimal backend for the current platform.
The following constructors are available:
- new(OPTIONS)
-
Creates a new AnyEvent::Filesys::Watcher. The constructor may throw an exception in case of an error!
OPTIONS is a hash of named options:
- directories DIRECTORIES
-
DIRECTORIES is a reference to an array of directories to monitor. A single directory can also be passed as a scalar.
Optional. The default is the base directory, see "base_dir" below.
- dirs DIRECTORIES
-
This is an alias for the option "directories".
- base_dir BASE_DIRECTORY
-
Relative path names for the "directories" option are resolved relative to BASE_DIRECTORY.
The default is the current working directory at the time that the object was instantiated.
- callback CALLBACK
-
A code reference that is called, when a modification to the monitored directories is deteced. The callback is passed a list of AnyEvent::Filesys::Watcher::Events.
One of the options "callback" or "raw_events" (see below) are required.
- cb CALLBACK
-
This is an alias for the parameter callback.
This argument is required if the argument callback has not been given.
- interval SECONDS
-
Specifies the time in fractional seconds between file system checks for the AnyEvent::Filesys::Watcher::Fallback implementation.
Specifies the latency for Mac::FSEvents for the AnyEvent::Filesys::Watcher::FSEvents implementation.
Ignored for the AnyEvent::Filesys::Watcher::Inotify2 implementation.
Optional. The default is backend-specific.
- filter FILTER
-
FILTER should either be a regular expression or a code reference. If this is a regular expression, only (absolute) file names matching that regular expressions can cause an event.
If FILTER is a code reference, the subrouting receives the absolute file name as an argument and should return a truthy value for all files that should cause an event.
Optional. By default, all events are passed through.
- raw_events CALLBACK
-
Allows you to subscribe to the raw events returned by the os-specific backend. The CALLBACK gets invoked with a list of these backend-specific options and should return a list of backend-specific options. Did you read this? You have to return a list of events.
You can use this option if you are interested in the original events from your backend or if you want to filter these events before being processed.
You can use both the option "callback" and "raw_events" but the filter specified with the "filter" option is, of course, not applied to the raw events because their exact structure is backend-specific.
One of the options "callback" (see above) or "raw_events" are required.
All other options are ignored.
METHODS
See the base class AnyEvent::Filesys::Watcher. This module does not have any additional public methods.
ORIGINAL AUTHOR
Mark Grimes, <mgrimes@cpan.org>
CONTRIBUTORS
Gasol Wu <gasol.wu@gmail.com> who contributed the BSD support for IO::KQueue
Dave Hayes <dave@jetcafe.org>
Carsten Wolff <carsten@wolffcarsten.de>
Ettore Di Giacinto (@mudler)
Martin Barth (@ufobat)
AUTHOR
Guido Flohr <guido.flohr@cantanea.com>.
SEE ALSO
AnyEvent::Filesys::Watcher, Linux::Inotify2, perl(1)