Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Functions
GASS Transfer API

GASS Transfer API. More...

Modules

 Activation
 Activation.
 
 Client-Initiated Operations
 GASS Transfer Client Operations.
 
 Implementing Servers
 GASS Server Implementation.
 
 Referrals
 GASS Referrals.
 
 Request Handles
 Request Handles.
 
 Request Attributes
 Request Attributes.
 
 Listener attributes
 Listener attributes.
 
 Implementing Request Attributes
 Implementing Request Attributes.
 
 Protocol Modules
 Protocol Implementation API.
 

Functions

globus_result_t globus_gass_copy_url_to_url (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, char *dest_url, globus_gass_copy_attr_t *dest_attr)
 Blocking Transfer between URLs. More...
 
globus_result_t globus_gass_copy_url_to_handle (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, globus_io_handle_t *dest_handle)
 Blocking Transfer from an URL to an IO handle. More...
 
globus_result_t globus_gass_copy_handle_to_url (globus_gass_copy_handle_t *handle, globus_io_handle_t *source_handle, char *dest_url, globus_gass_copy_attr_t *dest_attr)
 Blocking transfer from an IO handle to an URL. More...
 
globus_result_t globus_gass_copy_register_url_to_url (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, char *dest_url, globus_gass_copy_attr_t *dest_attr, globus_gass_copy_callback_t callback_func, void *callback_arg)
 
globus_result_t globus_gass_copy_register_url_to_handle (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, globus_io_handle_t *dest_handle, globus_gass_copy_callback_t callback_func, void *callback_arg)
 Nonblocking transfer from an URL to an IO handle. More...
 
globus_result_t globus_gass_copy_register_handle_to_url (globus_gass_copy_handle_t *handle, globus_io_handle_t *source_handle, char *dest_url, globus_gass_copy_attr_t *dest_attr, globus_gass_copy_callback_t callback_func, void *callback_arg)
 
globus_result_t globus_gass_copy_cache_url_state (globus_gass_copy_handle_t *handle, char *url)
 Cache connections to an FTP or GridFTP server. More...
 
globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t *handle, char *url)
 Remove an FTP or GridFTP cached connection. More...
 
globus_result_t globus_gass_copy_set_user_pointer (globus_gass_copy_handle_t *handle, void *user_pointer)
 Set the user pointer in a handle.
 
globus_result_t globus_gass_copy_get_user_pointer (globus_gass_copy_handle_t *handle, void **user_data)
 Get the user pointer in a handle.
 
globus_result_t globus_gass_copy_cancel (globus_gass_copy_handle_t *handle, globus_gass_copy_callback_t cancel_callback, void *cancel_callback_arg)
 Cancel a transfer.
 

Detailed Description

GASS Transfer API.

The GASS Transfer API is the core part of the GASS (Global Access to Secondary Storage) component of the Grid Community Toolkit. The purpose of GASS is to provide a simple way to enable grid applications to securely stage and access data to and from remote file servers using a simple protocol-independent API.

The GASS Transfer API provides a way to implement both client and server components. These share common data block and request management functionality. Client-specific functions are provided to implement file "get", "put", and "append" operations. Server-specific functions are provided to implement servers which service such requests. Client and server functionality can be included in a single application, so one could implement proxies or cross-protocol bridges.

The GASS Transfer API is easily extensible to support different remote data access protocols. The standard Globus distribution includes client-side support for the http, and https protocols, as well as server-side support for the http and https protocols. An application which requires additional protocol support may add this through the protocol module interface.

The GASS Transfer API is defined in the header file "globus_gass_transfer.h"

The GLOBUS_GASS_TRANSFER_MODULE must be activated before calling any functions in this API.

Function Documentation

globus_result_t globus_gass_copy_cache_url_state ( globus_gass_copy_handle_t handle,
char *  url 
)

Cache connections to an FTP or GridFTP server.

Explicitly cache connections to URL server. When an URL is cached, the connection to the URL server will not be closed after a file transfer completes.

Parameters
handleHandle which will contain a cached connection to the URL server.
urlThe URL of the FTP or GSIFTP server to cache.
Returns
This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.
globus_result_t globus_gass_copy_flush_url_state ( globus_gass_copy_handle_t handle,
char *  url 
)

Remove an FTP or GridFTP cached connection.

Explicitly remove a cached connection to an FTP or GSIFTP server. If an idle connection to an FTP server exists, it will be closed.

Parameters
handleHandle which contains a cached connection to the URL server.
urlThe URL of the FTP or GSIFTP server to remove.
Returns
This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.
globus_result_t globus_gass_copy_handle_to_url ( globus_gass_copy_handle_t handle,
globus_io_handle_t *  source_handle,
char *  dest_url,
globus_gass_copy_attr_t dest_attr 
)

Blocking transfer from an IO handle to an URL.

Parameters
handleThe handle to perform the copy operation
source_handletransfer data from this IO handle
dest_urltransfer data to this URL
dest_attrAttributes describing how the transfer to the destination should be done
Returns
This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_url_to_url() globus_gass_copy_url_to_handle()
globus_result_t globus_gass_copy_register_handle_to_url ( globus_gass_copy_handle_t handle,
globus_io_handle_t *  source_handle,
char *  dest_url,
globus_gass_copy_attr_t dest_attr,
globus_gass_copy_callback_t  callback_func,
void *  callback_arg 
)

Nonblocking Transfer From an IO handle to an URL

This functions initiates a transfer from an IO handle to destination URL, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.

Parameters
handleThe handle to perform the copy operation
source_handletransfer data from this IO handle
dest_urltransfer data to this URL
dest_attrAttributes describing how the transfer to the destination should be done
callback_funcCallback to be invoked once the transfer is completed.
callback_argArgument to be passed to the callback_func.
Returns
This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_register_url_to_url(), globus_gass_copy_register_url_to_handle()
globus_result_t globus_gass_copy_register_url_to_handle ( globus_gass_copy_handle_t handle,
char *  source_url,
globus_gass_copy_attr_t source_attr,
globus_io_handle_t *  dest_handle,
globus_gass_copy_callback_t  callback_func,
void *  callback_arg 
)

Nonblocking transfer from an URL to an IO handle.

This functions initiates a transfer from source URL to an IO handle, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.

Parameters
handleThe handle to perform the copy operation
source_urltransfer data from this URL
source_attrAttributes describing how the transfer form the source should be done
dest_handletransfer data to this IO handle
callback_funcCallback to be invoked once the transfer is completed.
callback_argArgument to be passed to the callback_func.
Returns
This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_register_url_to_url(), globus_gass_copy_register_handle_to_url()
globus_result_t globus_gass_copy_register_url_to_url ( globus_gass_copy_handle_t handle,
char *  source_url,
globus_gass_copy_attr_t source_attr,
char *  dest_url,
globus_gass_copy_attr_t dest_attr,
globus_gass_copy_callback_t  callback_func,
void *  callback_arg 
)

Nonblocking Transfer between URLs

This functions initiates a transfer from source URL to destination URL, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.

Parameters
handleThe handle to perform the copy operation
source_urltransfer data from this URL
source_attrAttributes describing how the transfer form the source should be done
dest_urltransfer data to this URL
dest_attrAttributes describing how the transfer to the destination should be done
callback_funcCallback to be invoked once the transfer is completed.
callback_argArgument to be passed to the callback_func.
Returns
This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_register_url_to_handle(), globus_gass_copy_register_handle_to_url()
globus_result_t globus_gass_copy_url_to_handle ( globus_gass_copy_handle_t handle,
char *  source_url,
globus_gass_copy_attr_t source_attr,
globus_io_handle_t *  dest_handle 
)

Blocking Transfer from an URL to an IO handle.

Parameters
handleThe handle to perform the copy operation
source_urltransfer data from this URL
source_attrAttributes describing how the transfer form the source should be done
dest_handletransfer data to this IO handle
Returns
This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_url_to_url() globus_gass_copy_handle_to_url()
globus_result_t globus_gass_copy_url_to_url ( globus_gass_copy_handle_t handle,
char *  source_url,
globus_gass_copy_attr_t source_attr,
char *  dest_url,
globus_gass_copy_attr_t dest_attr 
)

Blocking Transfer between URLs.

Parameters
handleThe handle to perform the copy operation
source_urltransfer data from this URL
source_attrAttributes describing how the transfer form the source should be done
dest_urltransfer data to this URL
dest_attrAttributes describing how the transfer to the destination should be done
Returns
This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:
Return values
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETERThe handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_errornext error description
See Also
globus_gass_copy_url_to_handle() globus_gass_copy_handle_to_url()