Detailed Description

Handles

An XIO handle with the gridftp client driver can be created with globus_xio_handle_create()

The GridFTP client driver makes use of globus ftp client library. globus_xio_register_open() call creates a new ftp client handle (unless one is set on the attr passed), establishes connection with the GridFTP server. The contact string must contain the scheme, host name, and the resource, optionally it might contain port and subject also.

When the XIO handle is closed, the GridFTP driver will destroy its internal resources and the ftp client handle (unless this handle was set on an attr).

Reading/Writing

The globus_xio_register_read() enforce that the waitforbytes parameter should be one. When multiple TCP streams are used between the client and the server, data might not be delivered in order. globus_xio_data_descriptor_cntl() can be used to get the offset of the data.

globus_xio_register_write() does not enforce any restriction on the waitforbytes parameter.

In any case, when an error or EOF occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or EOF occurred.

Environment Variables

  • GLOBUS_XIO_GRIDFTP_DEBUG Available if using a debug build. See globus_debug.h for format.

Attributes and Cntls

GridFTP driver specific attrs and cntls.

See also:

globus_xio_attr_cntl ()

globus_xio_handle_cntl ()

globus_xio_data_descriptor_cntl ()

Types

The errors reported by the GRIDFTP driver include GLOBUS_XIO_ERROR_EOF, GLOBUS_XIO_ERROR_CANCELED, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ, GLOBUS_XIO_GRIDFTP_ERROR_SEEK, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE, GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ, GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER

See also:

globus_xio_driver_error_match()

globus_error_errno_match()

Typedef Documentation

typedef enum \fBglobus_l_xio_gridftp_mode_e\fP \fBglobus_l_xio_gridftp_mode_t\fP

GRIDFTP driver specific types

Enumeration Type Documentation

enum \fBglobus_l_xio_gridftp_mode_e\fP

GRIDFTP driver specific types

enum \fBglobus_xio_gridftp_cmd_t\fP

doxygen varargs filter stuff GRIDFTP driver specific cntls

Enumerator

GLOBUS_XIO_GRIDFTP_SEEK

See usage for: globus_xio_gridftp_handle_cntl

GLOBUS_XIO_GRIDFTP_SET_HANDLE

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_HANDLE

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_APPEND

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_APPEND

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_ERET

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_ERET

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_ESTO

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_ESTO

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_MODE

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_MODE

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_AUTH

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_AUTH

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_DCAU

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_DCAU

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION

See usage for: globus_xio_gridftp_attr_cntl

GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION

See usage for: globus_xio_gridftp_attr_cntl

enum \fBglobus_xio_gridftp_error_type_t\fP

GridFTP driver specific error types

Enumerator

GLOBUS_XIO_GRIDFTP_ERROR_ATTR

Indicates that an error occurred in the attribute control

GLOBUS_XIO_GRIDFTP_ERROR_SEEK

Indicates that a seek has been called while there is an outstanding I/O

GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ

Indicates that a write has been called while there is an outstanding read

GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE

Indicates that a read has been called while there is an outstanding write

GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ

Indicates that a write has been called while there is a read pending

GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE

Indicates that a read has been called while there is a write pending

GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER

Indicates that a second partial xfer has been initiated while the first one is still outstanding

Author

Generated automatically by Doxygen for globus_xio_gridftp_driver from the source code.