NAME
Filesys::Virtual::Async::Plain - A plain non-blocking virtual filesystem
SYNOPSIS
use Filesys::Virtual::Async::Plain;
my $fs = Filesys::Virtual::Async::Plain->new( root => '/home/foo', );
$fs->mkdir( '/bar', $mode, sub { if ( $_[0] ) { print "success\n"; } else { print "failure:$!\n"; } });
DESCRIPTION
Filesys::Virtual::Async::Plain provides non-blocking access to virtual filesystem rooted in a real filesystem. It's like a chrooted filesytem.
WARNING
This module is still in flux to an extent. It will change. I released this module early due to demand. If you'd like to suggest changes, please drop in the irc channel #poe on irc.perl.org and speak with xantus[] or Apocalypse
OBJECT METHODS
All of these work exactly like the IO::AIO methods of the same name. Use IO::AIO as a reference for these functions. This module is mostly a wrapper around IO::AIO
- open()
- close()
- read()
- write()
- sendfile()
- readahead()
- stat()
- lstat()
- utime()
- chown()
- truncate()
- chmod()
- unlink()
- mknod()
- link()
- symlink()
- readlink()
- rename()
- mkdir()
- rmdir()
- readdir()
- load()
- copy()
- move()
- scandir()
- rmtree()
- fsync()
- fdatasync()
- cwd()
-
Returns the current working directory (virtual)
- root() or root($path)
-
Gets or sets the root path. This path is prepended to the path returned from _path_from_root
- _path_from_root($path)
-
Resolves a path, with the root path prepended
- _resolve_path($path)
-
Resolves a path to a normalized direct path based on the cwd, allowing .. traversal, and the ~ home directory shortcut (if home_path is defined)
For example, if the cwd is /foo/bar/baz, and $path is /../../../../foo/../foo/./bar/../foo then /foo will be returned
SEE ALSO
BUGS
Probably. Report 'em: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Filesys-Virtual-Async-Plain
AUTHOR
David Davis <xantus@cpan.org>
RATING
You can rate this this module at http://cpanratings.perl.org/rate/?distribution=Filesys::Virtual::Async::Plain
COPYRIGHT AND LICENSE
Copyright 2009 by David Davis
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself