AnyEvent::FTP::Client::Transfer(3pm)

NAME
AnyEvent::FTP::Client::Transfer - Transfer class for asynchronous ftp client

VERSION
version 0.20

SYNOPSIS
 use AnyEvent::FTP::Client;
 my $client = AnyEvent::FTP::Client;
 $client->connect('ftp://ftp.cpan.org')->cb(sub {

   # $upload_transfer and $download_transfer are instances of
   # AnyEvent::FTP::Client::Transfer
   my $upload_transfer = $client->stor('remote_filename.txt', 'content');

   my $buffer;
   my $download_transfer = $client->retr('remote_filename.txt', \$buffer);

 });

DESCRIPTION
This class represents a file transfer with a remote server. Transfers may be initiated between a remote file name and a local object. The local object may be a regular scalar, reference to a scalar or a file handle, for details, see the "stor", "stou", "appe" and "retr" methods in AnyEvent::FTP::Client.

This documentation covers what you can do with the transfer object once it has been initiated.

ROLES
This class consumes these roles:

•   AnyEvent::FTP::Role::Event

EVENTS
This class provides these events:

  open
Emitted when the data connection is opened, and passes in as its first argument the AnyEvent::Handle instance used to transfer the file.

 $xfer->on_open(sub {
   my($handle) = @_;
   # $handle isa AnyEvent::Handle
 });

  close
Emitted when the transfer is complete, either due to a successful transfer or the server returned a failure status. Passes in the final AnyEvent::FTP::Client::Response message associated with the transfer.

 $xfer->on_close(sub {
   my($res) = @_;
   # $res isa AnyEvent::FTP::Client::Response
 });

  eof
Emitted when the data connection closes.

 $xfer->on_eof(sub {
   # no args passed in
 });

METHODS

  cb
Register a callback with the transfer to be executed when the transfer successfully completes, or fails. Works exactly like the AnyEvent condition variable "cb" method.

  ready
Returns true if the transfer has completed (either successfully or not). If true, then it is safe to call "recv" to retrieve the response (Some event loops do not support calling "recv" before there is a message waiting).

  recv
Retrieve the AnyEvent::FTP::Client::Response object.

  remote_name
For "STOU" transfers ONLY, this returns the remote file name.

AUTHOR
Author: Graham Ollis <plicease@cpan.org>

Contributors:

Ryo Okamoto

Shlomi Fish

José Joaquín Atria

COPYRIGHT AND LICENSE
This software is copyright (c) 2017-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.