class type ftp_client_pi =object
..end
method exec_e : ?prelim:(ftp_state -> reply -> unit) ->
cmd -> (ftp_state * reply) Uq_engines.engine
When the command is done, the engine transitions to
`Done(st,r)
where st
is the state after the command, and r
is the final reply of the server.
Due to the FTP specification there may be several replies for
a command: First, zero or more replies with cmd_state = `Preliminary
,
and then exactly one reply with a final state. The preliminary replies
can be intercepted with the prelim
callback.
method send_abort : unit -> unit
ABOR
command, even when a data transfer is
in progress.
TODO - not yet implemented
method run : unit -> unit
Unixqueue.run
method ftp_state : ftp_state
method state : unit Uq_engines.engine_state
Uq_engines
. Possible values are:`Working _
: The control connection is still active. The int
argument is currently meaningless.`Done()
: The control connection has been terminated.`Error e
: A violation of the FTP protocol happened, or another
exception e
occurred`Aborted
: The abort
method was calledmethod abort : unit -> unit
`Aborted
.method event_system : Unixqueue.event_system
method request_notification : (unit -> bool) -> unit
Uq_engines.engine
method is_empty : bool
method need_ip6 : bool
`EPSV
or `EPRT
are required instead of
`PASV
and `PORT
, respectively. This is first set after
connecting to a server (i.e. when the IP address family is known).
Before, it is always false
.
The following methods are first set when the `FEAT
command is run.
Use feat_method
to do so. Until then, always false
is returned.
method supports_tvfs : bool
method supports_mdtm : bool
`MDTM
command is supported. Note that `MDTM
is sometimes
even supported even if the server does not provide the `FEAT
command
to test for this feature.method supports_size : bool
`SIZE
command is supported. Note that `SIZE
is sometimes
even supported even if the server does not provide the `FEAT
command
to test for this feature.method supports_mlst : bool
`MLST
and `MLSD
commands are supportedmethod mlst_facts : string list
`MLST
and `MLSD
method mlst_enabled_facts : string list
`MLST
and `MLSD
method supports_utf8 : bool