module Ftp_data_endpoint:Senders and receivers for the FTP data connectionsig
..end
class type out_record_channel =object
..end
out_record_channel
can be used to output files with record
structure.
class type in_record_channel =object
..end
in_record_channel
can be used to read files with record
structure.
typelocal_receiver =
[ `File_structure of Netchannels.out_obj_channel
| `Record_structure of out_record_channel ]
local_receiver
is the object that gets the data received
over the data connection.
Page structure is not supported.
typelocal_sender =
[ `File_structure of Netchannels.in_obj_channel
| `Record_structure of in_record_channel ]
local_sender
is the object that provides the data sent
over the data connection.
Page structure is not supported.
typetransmission_mode =
[ `Block_mode | `Stream_mode ]
typedescr_state =
[ `Clean | `Down | `Transfer_in_progress ]
`Clean
means that a new data transfer may be started,
either because the socket is new, or the last block transfer was
properly finished. The state `Transfer_in_progress
means that
data is being transferred, but also that the transfer is aborted.
The state `Down
means that the socket is already at least half-closed,
i.e. EOF was sent in one direction.typetext_data_repr =
[ `ASCII of Netconversion.encoding
| `ASCII_unix of Netconversion.encoding
| `EBCDIC of Netconversion.encoding ]
`ASCII
means an ASCII-compatible encoding where the newline
character is represented by CR/LF. `ASCII_unix
is the same
but newline is only LF. `EBCDIC
is an EBCDIC variant.
The argument specifies the exact variant to be used, e.g.
`ASCII `Enc_iso88591
or `EBCDIC `Enc_cp1047
.
It is illegal to use `ASCII
or `ASCII_unix
with an ASCII-
incompatible encoding, as well as combining `EBCDIC
with a
non-EBCDIC encoding. Wrong conversions would be the result of
this.
class write_out_record_channel :repr:text_data_repr -> Netchannels.out_obj_channel ->
out_record_channel
out_record_channel
that represents EOR as
newline character.
class read_in_record_channel :repr:text_data_repr -> Netchannels.in_obj_channel ->
in_record_channel
in_record_channel
that takes newline characters as
EOR representation.
class data_converter :fromrepr:text_data_repr -> torepr:text_data_repr ->
Netchannels.io_obj_channel
fromrepr
to
torepr
.
class type ftp_data_engine =object
..end
class ftp_data_receiver :esys:Unixqueue.event_system -> mode:transmission_mode -> local_receiver:local_receiver -> descr:Unix.file_descr -> unit ->
object
..end
class ftp_data_sender :esys:Unixqueue.event_system -> mode:transmission_mode -> local_sender:local_sender -> descr:Unix.file_descr -> unit ->
object
..end