Grid Community Toolkit
6.2.1705709074 (tag: v6.2.20240202)
|
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. | |
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.
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.
handle | Handle which will contain a cached connection to the URL server. |
url | The URL of the FTP or GSIFTP server to cache. |
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.
handle | Handle which contains a cached connection to the URL server. |
url | The URL of the FTP or GSIFTP server to remove. |
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.
handle | The handle to perform the copy operation |
source_handle | transfer data from this IO handle |
dest_url | transfer data to this URL |
dest_attr | Attributes describing how the transfer to the destination should be done |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |
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.
handle | The handle to perform the copy operation |
source_handle | transfer data from this IO handle |
dest_url | transfer data to this URL |
dest_attr | Attributes describing how the transfer to the destination should be done |
callback_func | Callback to be invoked once the transfer is completed. |
callback_arg | Argument to be passed to the callback_func. |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |
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.
handle | The handle to perform the copy operation |
source_url | transfer data from this URL |
source_attr | Attributes describing how the transfer form the source should be done |
dest_handle | transfer data to this IO handle |
callback_func | Callback to be invoked once the transfer is completed. |
callback_arg | Argument to be passed to the callback_func. |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |
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.
handle | The handle to perform the copy operation |
source_url | transfer data from this URL |
source_attr | Attributes describing how the transfer form the source should be done |
dest_url | transfer data to this URL |
dest_attr | Attributes describing how the transfer to the destination should be done |
callback_func | Callback to be invoked once the transfer is completed. |
callback_arg | Argument to be passed to the callback_func. |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |
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.
handle | The handle to perform the copy operation |
source_url | transfer data from this URL |
source_attr | Attributes describing how the transfer form the source should be done |
dest_handle | transfer data to this IO handle |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |
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.
handle | The handle to perform the copy operation |
source_url | transfer data from this URL |
source_attr | Attributes describing how the transfer form the source should be done |
dest_url | transfer data to this URL |
dest_attr | Attributes describing how the transfer to the destination should be done |
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER | The handle was equal to GLOBUS_NULL, so the transfer could not processed. |
GLOBUS_GASS_COPY_ERROR_TYPE_next_error | next error description |