# Class Ftp_client.ftp_client

    class ftp_client : ?event_system:Unixqueue.event_system -> unit -> object .. end

The ftp client is a user session that may even span several connections. However, only one server is connected at once.

    method exec_e : ftp_method -> unit Uq_engines.engine

Runs the method asynchronously as engine.

    method exec : ftp_method -> unit

Runs the method synchronously. Note that this implies a call of `Unixqueue.run`.

    method pi : ftp_client_pi

The curerent protocol interpreter. It is allowed that a different `pi` is created when a new connection is opened.

The `pi` is first available after running the first method. The method fails if `pi` is unavailable.

    method run : unit -> unit

Starts the event system; same as `Unixqueue.run`

    method configure_timeout : float -> unit

Configures a timeout for both the control and the data connection. This must be done before connecting to a server.

    method set_socks5_proxy : string -> int -> unit

Sets that a SOCKS version 5 proxy is used at this host and port. There is no support for authentication at the proxy. Only passive mode is supported.

    method event_system : Unixqueue.event_system

    method reset : unit -> unit

Aborts all current activities if any, and re-initializes the client