NAME
Client-Initiated Operations -
GASS Transfer Client Operations.
Functions
int globus_gass_transfer_register_get (globus_gass_transfer_request_t
*request, globus_gass_transfer_requestattr_t *attr, char *url,
globus_gass_transfer_callback_t callback, void *user_arg)
int globus_gass_transfer_get (globus_gass_transfer_request_t *request,
globus_gass_transfer_requestattr_t *attr, char *url)
int globus_gass_transfer_register_put (globus_gass_transfer_request_t
*request, globus_gass_transfer_requestattr_t *attr, char *url,
globus_size_t length, globus_gass_transfer_callback_t callback,
void *user_arg)
int globus_gass_transfer_put (globus_gass_transfer_request_t *request,
globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t
length)
int globus_gass_transfer_register_append
(globus_gass_transfer_request_t *request,
globus_gass_transfer_requestattr_t *attr, char *url, globus_size_t
length, globus_gass_transfer_callback_t callback, void *user_arg)
int globus_gass_transfer_append (globus_gass_transfer_request_t
*request, globus_gass_transfer_requestattr_t *attr, char *url,
globus_size_t length)
Detailed Description
GASS Transfer Client Operations.
One mode of using the GASS Transfer API is to initiate file transfers.
The operations supported by the GASS Transfer API are file get, put,
and append. These operations are provided for HTTP, and HTTPS file
servers. The protocol module interface allows support for additional
protocols to be added easily.
The GASS transfer library provides both blocking and non-blocking
versions of all its client functions. When a blocking function
completes, or the non-blocking function’s callback is called, the user
should check the request’s status to discover whether the transfer was
completed successfully, denied, or referred.
Function Documentation
int globus_gass_transfer_register_get (globus_gass_transfer_request_t *
request, globus_gass_transfer_requestattr_t * attr, char * url,
globus_gass_transfer_callback_t callback, void * user_arg)
Nonblocking file get. This function initiates a new ’get’ request of
the file named by url. The entire file will be transfered from the
server if the file exists and user is authorized to do so. This
function does not block; instead, the user’s callback function will be
called once the GASS library has determined whether the file can be
retrieved or not.
Upon returning from this function, the request handle is initialized to
refer to the get request’s state.
If the server can’t store the file at url, but has an alternative
location for the user to store to, then the callback function will be
called with the request’s status set to
GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to get
callback Function to call once the URL has been accepted, referred,
or denied by the server.
user_arg User-supplied argument to the callback function.
Return values:
GLOBUS_SUCCESS The get was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request, attr, or
callback was GLOBUS_NULL. The get could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the get.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a get on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_get()
int globus_gass_transfer_get (globus_gass_transfer_request_t * request,
globus_gass_transfer_requestattr_t * attr, char * url)
Blocking file get. This function initiates a new ’get’ request of the
file named by url. The entire file will be transfered from the server
if the file exists and user is authorized to do so. This function
blocks until the GASS library has determined whether the file may be
retrievied by the caller, may not because it is a referral to another
URL or URLs, or the server has denied the request.
Upon returning from this function, the request handle is initialized to
refer to the get request’s state. This request handle must be destroyed
after the user has finished processing the data associated with the
callback.
If the file doesn’t exist at url, but a referral does, then this
function will return with the request’s status set to
GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to get
Return values:
GLOBUS_SUCCESS The get was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request or attr was
GLOBUS_NULL. The get could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the get.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a get on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_register_get()
int globus_gass_transfer_register_put (globus_gass_transfer_request_t *
request, globus_gass_transfer_requestattr_t * attr, char * url,
globus_size_t length, globus_gass_transfer_callback_t callback, void *
user_arg)
Nonblocking file put. This function initiates a new ’put’ request of
the file named by url. The entire file will be transfered to the server
if the user is authorized to do so. This function does not block;
instead, the user’s callback function will be called once the GASS
library has determined whether the file may be stored or not.
Upon returning from this function, the request handle is initialized to
refer to the put request’s state.
If the server can’t store the file at url, but has an alternative
location for the user to store to, then the callback function will be
called with the request’s status set to
GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to put.
length The length of the data to put to the url, if known. If this
parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the put may
fail if the protocol does not support arbitrarily-length files.
callback Function to call once the URL has been accepted, referred,
or denied by the server.
user_arg User-supplied argument to the callback function.
Return values:
GLOBUS_SUCCESS The put was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request, attr, or
callback was GLOBUS_NULL. The put could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the put.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a put on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_put()
int globus_gass_transfer_put (globus_gass_transfer_request_t * request,
globus_gass_transfer_requestattr_t * attr, char * url, globus_size_t
length)
Blocking file put. This function initiates a new ’put’ request of the
file named by url. The entire file will be transfered to the server if
the user is authorized to do so. This function blocks until the GASS
library has determined whether the file may be retrieved by the caller,
may not because it is a referral to another URL or URLs, or the server
has denied the request.
Upon returning from this function, the request handle is initialized to
refer to the put request’s state.
If the server can’t store the file at url, but has an alternative
location for the user to store to, then this function return with
request’s status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to put.
length The length of the data to put to the url, if known. If this
parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the put may
fail if the protocol does not support arbitrarily-length files.
Return values:
GLOBUS_SUCCESS The get was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request or attr was
GLOBUS_NULL. The get could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the get.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a put on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_register_put()
int globus_gass_transfer_register_append (globus_gass_transfer_request_t *
request, globus_gass_transfer_requestattr_t * attr, char * url,
globus_size_t length, globus_gass_transfer_callback_t callback, void *
user_arg)
Nonblocking file append. This function initiates a new ’append’ request
of the file named by url. The entire file will be transfered to the
server if the user is authorized to do so. This function does not
block; instead, the user’s callback function will be called once the
GASS library has determined whether the file may be stored or not.
Upon returning from this function, the request handle is initialized to
refer to the append request’s state.
If the server can’t store the file at url, but has an alternative
location for the user to store to, then the callback function will be
called with the request’s status set to
GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to append to.
length The length of the data to append to the url, if known. If
this parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the
append may fail if the protocol does not support arbitrarily-length
files.
callback Function to call once the URL has been accepted, referred,
or denied by the server.
user_arg User-supplied argument to the callback function.
Return values:
GLOBUS_SUCCESS The put was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request, attr, or
callback was GLOBUS_NULL. The put could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the put.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a append on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_append()
int globus_gass_transfer_append (globus_gass_transfer_request_t * request,
globus_gass_transfer_requestattr_t * attr, char * url, globus_size_t
length)
Blocking file append. This function initiates a new ’append’ request of
the file named by url. The entire file will be transfered to the server
if the user is authorized to do so. This function blocks until the GASS
library has determined whether the file may be retrieved by the caller,
may not because it is a referral to another URL or URLs, or the server
has denied the request.
Upon returning from this function, the request handle is initialized to
refer to the append request’s state.
If the server can’t store the file at url, but has an alternative
location for the user to store to, then this function return with
request’s status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
Parameters:
request A pointer to an uninitialized request handle.
attr Request attributes.
url URL to append to.
length The length of the data to append to the url, if known. If
this parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the
append may fail if the protocol does not support arbitrarily-length
files.
Return values:
GLOBUS_SUCCESS The put was successfully initiated.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER One of request, attr, or
callback was GLOBUS_NULL. The put could not be processed.
GLOBUS_GASS_TRANSFER_ERROR_INTERNAL_ERROR An internal resource was
not available to process the put.
GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED No protocol handler for
doing a append on this URL type is implemented.
GLOBUS_GASS_TRANSFER_ERROR_BAD_URL The URL could not be parsed.
See also:
globus_gass_transfer_register_append()
Author
Generated automatically by Doxygen for globus gass transfer from the
source code.