Loading...
Searching...
No Matches
Referrals
GASS Transfer API

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

## globus_gass_transfer_referral_destroy()

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

  referral | The referral to destroy.

Return values

  GLOBUS_SUCCESS | The referral was successfully destroyed.
  GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTER | The referral parameter was GLOBUS_NULL. It could not be destroyed.

## globus_gass_transfer_referral_get_count()

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

  referral | The referral structure to query.

Returns
  This function returns the number of URL entries in the referral, or 0, if there are none.

## globus_gass_transfer_referral_get_url()

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

  referral | The referral structure to query.
  index | The 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.