Net-LibNFS

 view release on metacpan or  search on metacpan

lib/Net/LibNFS/Async.pm  view on Meta::CPAN

=head2 promise($dh) = I<OBJ>->opendir( $PATH )

Promise resolves to a L<Net::LibNFS::Dirhandle> instance.

=cut

sub opendir {
    my ($self, $path) = @_;

    return $self->_async_act( _async_opendir => $path );
}

=head2 promise($statvfs) = I<OBJ>->statvfs( $PATH )

Promise resolves to a L<Net::LibNFS::StatVFS> instance.

=cut

sub statvfs {
    my ($self, $path) = @_;

    return $self->_async_act( _async_statvfs => $path );
}

=head2 promise() = I<OBJ>->mknod( $PATH, $MODE, $DEV )

Promise resolves empty.

=cut

sub mknod {
    my ($self, $path, $mode, $dev) = @_;

    return $self->_async_act( _async_mknod => $path, $mode, $dev );
}

=head2 promise() = I<OBJ>->chmod( $PATH, $MODE )

Promise resolves empty.

=cut

sub chmod {
    my ($self, $path, $mode) = @_;

    return $self->_async_act( _async_chmod => $path, $mode );
}

=head2 promise() = I<OBJ>->lchmod( $PATH, $MODE )

Promise resolves empty.

=cut

sub lchmod {
    my ($self, $path, $mode) = @_;

    return $self->_async_act( _async_lchmod => $path, $mode );
}

=head2 promise() = I<OBJ>->chown( $PATH, $UID, $GID )

Promise resolves empty.

=cut

sub chown {
    my ($self, $path, $uid, $gid) = @_;

    return $self->_async_act( _async_chown => $path, $uid, $gid );
}

=head2 promise() = I<OBJ>->lchown( $PATH, $UID, $GID )

Promise resolves empty.

=cut

sub lchown {
    my ($self, $path, $uid, $gid) = @_;

    return $self->_async_act( _async_lchown => $path, $uid, $gid );
}

=head2 promise() = I<OBJ>->utime( $PATH, $ATIME, $MTIME )

Promise resolves empty.

=cut

sub utime {
    my ($self, $path, $atime, $mtime) = @_;

    return $self->_async_act( _async_utime => $path, $atime, $mtime );
}

=head2 promise() = I<OBJ>->lutime( $PATH, $ATIME, $MTIME )

Promise resolves empty.

=cut

sub lutime {
    my ($self, $path, $atime, $mtime) = @_;

    return $self->_async_act( _async_lutime => $path, $atime, $mtime );
}

=head2 promise() = I<OBJ>->truncate( $PATH, $LENGTH )

Promise resolves empty.

=cut

sub truncate {
    my ($self, $path, $length) = @_;

    return $self->_async_act( _async_truncate => $path, $length );
}

#----------------------------------------------------------------------

=head1 OTHER METHODS

=head2 promise(\@exports) = I<OBJ>->mount_getexports( $SERVERNAME )

Promise resolves to an arrayref of hashrefs such as L<Net::LibNFS>’s
corresponding static function returns.

=cut

sub mount_getexports {
    my ($self, $server) = @_;

    my $rpc = Net::LibNFS::RPC->new();

    my $io = $self->{'io'}->clone($rpc);

    return $io->act($rpc, _async_mount_getexports => $server)->finally(
        sub { undef $io },
    );
}



( run in 1.045 second using v1.01-cache-2.11-cpan-71847e10f99 )