RLI Operations

Data Structures

struct  globus_rls_sender_info_t
 Information about server sending updates to an rli, returned by globus_rls_client_rli_sender_list(). More...

Functions

globus_result_t globus_rls_client_rli_exists (globus_rls_handle_t *h, char *key, globus_rls_obj_type_t objtype)
globus_result_t globus_rls_client_rli_exists_bulk (globus_rls_handle_t *h, globus_list_t *keylist, globus_rls_obj_type_t objtype, globus_list_t **str2bulk_list)
globus_result_t globus_rls_client_rli_get_lrc (globus_rls_handle_t *h, char *lfn, int *offset, int reslimit, globus_list_t **str2_list)
globus_result_t globus_rls_client_rli_get_lrc_bulk (globus_rls_handle_t *h, globus_list_t *lfnlist, globus_list_t **str2bulk_list)
globus_result_t globus_rls_client_rli_get_lrc_wc (globus_rls_handle_t *h, char *lfn_pattern, globus_rls_pattern_t type, int *offset, int reslimit, globus_list_t **str2_list)
globus_result_t globus_rls_client_rli_sender_list (globus_rls_handle_t *h, globus_list_t **senderinfo_list)
globus_result_t globus_rls_client_rli_lrc_list (globus_rls_handle_t *h, globus_list_t **lrcinfo_list)
globus_result_t globus_rls_client_rli_mapping_exists (globus_rls_handle_t *h, char *lfn, char *lrc)
globus_result_t globus_rls_client_rli_rli_add (globus_rls_handle_t *h, char *rli_url, char *pattern)
globus_result_t globus_rls_client_rli_rli_delete (globus_rls_handle_t *h, char *rli_url, char *pattern)
globus_result_t globus_rls_client_rli_rli_get_part (globus_rls_handle_t *h, char *rli_url, char *pattern, globus_list_t **str2_list)
globus_result_t globus_rls_client_rli_rli_list (globus_rls_handle_t *h, globus_list_t **rliinfo_list)

Detailed Description

Functions to view and update data managed by a RLI server.


Function Documentation

globus_result_t globus_rls_client_rli_exists ( globus_rls_handle_t h,
char *  key,
globus_rls_obj_type_t  objtype 
)

Check if an object exists in the RLI database.

Parameters:
hHandle connected to an RLS server.
keyLFN or LRC that identifies object.
objtypeType of object key refers to (globus_rls_obj_rli_lfn or globus_rls_obj_rli_lrc).
Return values:
GLOBUS_SUCCESSObject exists.
globus_result_t globus_rls_client_rli_exists_bulk ( globus_rls_handle_t h,
globus_list_t *  keylist,
globus_rls_obj_type_t  objtype,
globus_list_t **  str2bulk_list 
)

Bulk check if objects exist in the RLI database.

Parameters:
hHandle connected to an RLS server.
keylistLFNs or LRCs that identify objects.
objtypeType of object key refers to (globus_rls_obj_rli_lfn or globus_rls_obj_rli_lrc).
str2bulk_listResults of existence check. Each list datum will be a globus_rls_string2_bulk_t structure. str2.s1 will be the LFN or LRC, and str2.s2 empty, and rc will be the result code indicating existence.
globus_result_t globus_rls_client_rli_get_lrc ( globus_rls_handle_t h,
char *  lfn,
int *  offset,
int  reslimit,
globus_list_t **  str2_list 
)

Return LRCs mapped to LFN in the RLI database.

Parameters:
hHandle connected to an RLS server.
lfnLFN whose list of LRCs is desired.
offsetOffset into result list. Used in conjunction with reslimit to retrieve results a few at a time. Use 0 to begin with first result.
reslimitMaximum number of results to return. Used in conjunction with offset to retrieve results a few at a time. Use 0 to retrieve all results.
str2_listList of LRCs that lfn maps to. Each list datum will be a globus_rls_string2_t structure. s1 will be the LFN, and s2 the LRC it maps to. str2_list should be freed with globus_rls_client_free_list().
Return values:
GLOBUS_SUCCESSList of LRCs that map to lfn in str2_list. See Query Results.
globus_result_t globus_rls_client_rli_get_lrc_bulk ( globus_rls_handle_t h,
globus_list_t *  lfnlist,
globus_list_t **  str2bulk_list 
)

Bulk return LRCs mapped to LFN in the RLI database.

Parameters:
hHandle connected to an RLS server.
lfnlistLFNs to search for.
str2bulk_listResults of queries. Each list datum will be a globus_rls_string2_bulk_t structure. str2.s1 will be the LFN, and str2.s2 the LRC it maps to, and rc will be the result code from the query.
globus_result_t globus_rls_client_rli_get_lrc_wc ( globus_rls_handle_t h,
char *  lfn_pattern,
globus_rls_pattern_t  type,
int *  offset,
int  reslimit,
globus_list_t **  str2_list 
)

Return LRCs mapped to wildcarded LFN in the RLI database.

Parameters:
hHandle connected to an RLS server.
lfn_patternLFN pattern to search for.
typeIdentifies wildcard characters used in lfn_pattern. Wildcard chars can be Unix file globbing chars (* matches 0 or more characters, ? matches any single character) or SQL "like" wildcard characters (% matches 0 or more charactes, _ matches any single character).
offsetOffset into result list. Used in conjunction with reslimit to retrieve results a few at a time. Use 0 to begin with first result.
reslimitMaximum number of results to return. Used in conjunction with offset to retrieve results a few at a time. Use 0 to retrieve all results.
str2_listList of LRCs that map to lfn_pattern. Each list datum will be a globus_rls_string2_t. s1 will be the LFN, and s2 the LRC it maps to. str2_list should be freed with globus_rls_client_free_list().
Return values:
GLOBUS_SUCCESSList of LRCs that map to lfn_pattern in str2_list. See Query Results.
globus_result_t globus_rls_client_rli_sender_list ( globus_rls_handle_t h,
globus_list_t **  senderinfo_list 
)

Get list of servers updating this RLI server.

Similar to globus_rls_client_rli_get_part() except no partition information is returned.

Parameters:
hHandle connected to an RLS server.
senderinfo_listDatums in senderinfo_list will be of type globus_rls_sender_info_t. senderinfo_list should be freed with globus_rls_client_free_list().
Return values:
GLOBUS_SUCCESSList of LRCs updating RLI added to senderinfo_list.
globus_result_t globus_rls_client_rli_lrc_list ( globus_rls_handle_t h,
globus_list_t **  lrcinfo_list 
)

Deprecated, use globus_rls_client_rli_sender_list().

Parameters:
hHandle connected to an RLS server.
lrcinfo_listDatums in lrcinfo_list will be of type globus_rls_lrc_info_t. lrcinfo_list should be freed with globus_rls_client_free_list().
Return values:
GLOBUS_SUCCESSList of LRCs updating RLI added to lrcinfo_list.
globus_result_t globus_rls_client_rli_mapping_exists ( globus_rls_handle_t h,
char *  lfn,
char *  lrc 
)

Check if a mapping exists in the RLI database.

Parameters:
hHandle connected to an RLS server.
lfnLFN of mapping.
lrcLRC of mapping.
Return values:
GLOBUS_SUCCESSMapping exists.
globus_result_t globus_rls_client_rli_rli_add ( globus_rls_handle_t h,
char *  rli_url,
char *  pattern 
)

RLI servers send information about LFNs in their database to the the list of RLI servers in the database, added with the following function.

Updates may be partitioned amongst multiple RLIs by specifying one or more patterns for an RLI.

Parameters:
hHandle connected to an RLS server.
rli_urlURL of RLI server that LRC should send updates to.
patternIf not NULL used to filter which LFNs are sent to rli_url. Standard Unix wildcard characters (*, ?) may be used to do wildcard matches.
Return values:
GLOBUS_SUCCESSRLI (with pattern if not NULL) added to RLI database.
globus_result_t globus_rls_client_rli_rli_delete ( globus_rls_handle_t h,
char *  rli_url,
char *  pattern 
)

Delete an entry from the RLI rli/partition tables.

Parameters:
hHandle connected to an RLS server.
rli_urlURL of RLI server to remove from RLI partition table.
patternIf not NULL then only the specific rli_url/pattern is removed, else all partition information for rli_url is removed.
Return values:
GLOBUS_SUCCESSRLI and pattern (if specified) removed from LRC partition table.
globus_result_t globus_rls_client_rli_rli_get_part ( globus_rls_handle_t h,
char *  rli_url,
char *  pattern,
globus_list_t **  str2_list 
)

Get RLI update partitions from RLI server.

Parameters:
hHandle connected to an RLS server.
rli_urlIf not NULL identifies RLI that partition data will be retrieved for. If NULL then all RLIs are retrieved.
patternIf not NULL returns only partitions with matching patterns, otherwise all patterns are retrieved.
str2_listResults added to list. Datums in str2_list are of type globus_rls_string2_t structure. s1 will be the rli url, s2 an empty string or the pattern used to partition updates. See Query Results.
Return values:
GLOBUS_SUCCESSPartition data retrieved from server, written to str2_list.
globus_result_t globus_rls_client_rli_rli_list ( globus_rls_handle_t h,
globus_list_t **  rliinfo_list 
)

Return URLs of RLIs that RLI sends updates to.

Parameters:
hHandle connected to an RLS server.
rliinfo_listList of RLIs updated by this RLI returned in this list. Each list datum is of type globus_rls_rli_info_t. rliinfo_list should be freed with globus_rls_client_free_list() when no longer needed.
Return values:
GLOBUS_SUCCESSList of RLIs updated by this LRC returned in rliinfo_list.

about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org