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

Filesys::Virtual::Async

http://xant.us/

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