NAME Filesys::Virtual::Async - Base class for non blocking virtual filesystems SYNOPSIS use base 'Filesys::Virtual::Async'; sub new { my $class = shift; $class->SUPER::new(@_); } # then override the various methods DESCRIPTION The goal of Filesys::Virtual::Async is to provide an interface like IO::AIO for a non blocking virtual filesystem This is a base class, see the "SEE ALSO" section below This module is still in flux to an extent. If you'd like to suggest changes, please drop in the irc channel #poe on irc.perl.org and speak with xantus[] or Apocalypse WARNING This is interface isn't solidified yet. It will change. I released this module early due to demand. You have been warned. OBJECT METHODS new( root => $path ); root is optional, and defaults to /. root is prepended to all paths after resolution 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. This is a private method, do not document it in your subclass. _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 This is a private method, do not document it in your subclass. CALLBACK METHODS All of these work exactly like the IO::AIO methods of the same name. Use IO::AIO as a reference for these functions, but note that this in no way requires you to use 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() SEE ALSO Filesys::Virtual::Async::Plain AUTHOR David W Davis RATING You can rate this this module at COPYRIGHT AND LICENSE Copyright (c) 2009 by David W Davis, All rights reserved This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself