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

GASS Referrals. More...

Functions

globus_size_t globus_gass_transfer_referral_get_count (globus_gass_transfer_referral_t *referral)
 
char * globus_gass_transfer_referral_get_url (globus_gass_transfer_referral_t *referral, globus_size_t index)
 
int globus_gass_transfer_referral_destroy (globus_gass_transfer_referral_t *referral)
 

Detailed Description

GASS Referrals.

Referrals

The GASS Transfer API supports referring URL requests to alternate URLs via referrals. Referrals are essentially pointers to another URL or URLs which contain the same file as the original location which a client has requested of a server. Referrals may span multiple protocol schemes, though not all protocols may be able to generate referrals. For example, an HTTP server may refer a client to another HTTP server, an HTTPS server.

Upon receiving a referred response from a server, a client should query the request handle to determine from where the file can be retrieved.

Function Documentation

int globus_gass_transfer_referral_destroy ( globus_gass_transfer_referral_t *  referral)

Free all memory used by a referral.

This function frees all memory used by this referral. After calling this function, the strings returned by calling globus_gass_transfer_referral_get_url() must not be accessed. Any further attempts to extract informatoin from this referral will fail.

Parameters
referralThe referral to destroy.
Return values
GLOBUS_SUCCESSThe referral was successfully destroyed.
GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERThe referral parameter was GLOBUS_NULL. It could not be destroyed.
globus_size_t globus_gass_transfer_referral_get_count ( globus_gass_transfer_referral_t *  referral)

Get the number of URLs in this referral.

This function examines the referral to determine if the number of URLs which are contained in it. Each of these URLs should either point to another referral, or to a URL containing the equivalent file as the original URL request which caused this referral.

Parameters
referralThe referral structure to query.
Returns
This function returns the number of URL entries in the referral, or 0, if there are none.
char* globus_gass_transfer_referral_get_url ( globus_gass_transfer_referral_t *  referral,
globus_size_t  index 
)

Get a URL string from a referral.

This function examines the referral to retrieve a URL string from it. A valid referal will contain one or more strings. They are indexed from 0 to the value returned by globus_gass_transfer_referral_get_count() - 1.

The string returned by this function must not be freed by the caller. It will remain valid until the referral structure is destroyed.

Parameters
referralThe referral structure to query.
indexThe URL to extract from the referral.
Returns
This function returns a string pointer containing the URL, or NULL if the index or referral were invalid.