POE-Component-Fuse
view release on metacpan or search on metacpan
lib/POE/Component/Fuse/AsyncFsV.pm view on Meta::CPAN
return;
}
sub mknod {
my ( $self, $context, $path, $modes, $device ) = @_;
$self->fsv->mknod( $path, $modes, $device, $self->_cb( 'mknod' ) );
return;
}
sub mkdir {
my ( $self, $context, $path, $modes ) = @_;
$self->fsv->mkdir( $path, $modes, $self->_cb( 'mkdir' ) );
return;
}
sub unlink {
my ( $self, $context, $path ) = @_;
$self->fsv->unlink( $path, $self->_cb( 'unlink' ) );
return;
}
sub rmdir {
my ( $self, $context, $path ) = @_;
$self->fsv->rmdir( $path, $self->_cb( 'rmdir' ) );
return;
}
sub symlink {
my ( $self, $context, $path, $symlink ) = @_;
$self->fsv->symlink( $path, $symlink, $self->_cb( 'symlink' ) );
return;
}
sub rename {
my ( $self, $context, $path, $newpath ) = @_;
$self->fsv->rename( $path, $newpath, $self->_cb( 'rename' ) );
return;
}
sub link {
my ( $self, $context, $path, $hardlink ) = @_;
$self->fsv->link( $path, $hardlink, $self->_cb( 'link' ) );
return;
}
sub chmod {
my ( $self, $context, $path, $modes ) = @_;
$self->fsv->chmod( $path, $modes, $self->_cb( 'chmod' ) );
return;
}
sub chown {
my ( $self, $context, $path, $uid, $gid ) = @_;
$self->fsv->chown( $path, $uid, $gid, $self->_cb( 'chown' ) );
return;
}
sub utime {
my ( $self, $context, $path, $atime, $mtime ) = @_;
$self->fsv->utime( $path, $atime, $mtime, $self->_cb( 'utime' ) );
return;
}
sub fsync {
my ( $self, $context, $path, $fsync_mode ) = @_;
# get the fh
my $fh = undef;
if ( exists $self->{'fhmap'}->{ $context->{'fh'} } ) {
$fh = $self->{'fhmap'}->{ $context->{'fh'} };
}
if ( ! defined $fh ) {
$poe_kernel->yield( 'reply', [ 'fsync' ], [ -EINVAL() ] );
} else {
# interesting, ::Async don't care about $fsync_mode...
$self->fsv->fsync( $fh, $self->_cb( 'fsync' ) );
}
return;
}
sub statfs {
my( $self, $context ) = @_;
# FIXME fake the data...
# $namelen, $files, $files_free, $blocks, $blocks_avail, $blocksize
$poe_kernel->yield( 'reply', [ 'statfs' ], [ 255, 1, 1, 1, 1, 2 ] );
return;
}
1;
__END__
=head1 NAME
POE::Component::Fuse::AsyncFsV - Wrapper for Filesys::Virtual::Async
=head1 SYNOPSIS
Please do not use this module directly.
=head1 ABSTRACT
Please do not use this module directly.
=head1 DESCRIPTION
This module is responsible for "wrapping" L<Filesys::Virtual::Async> objects and making them communicate properly
with the FUSE API that L<POE::Component::Fuse> exposes. Please do not use this module directly.
=head1 EXPORT
( run in 0.525 second using v1.01-cache-2.11-cpan-5511b514fd6 )