globus_gass_cache.h(3)
π NAME π
okay bestie, welcome to globus_gass_cache.h β this is the GASS Cache API and it's giving "I hold your cached files and I'm very serious about it" π
(it lives in the Library Functions Manual section, if you were wondering where to find it on the shelf π)
πΈ SYNOPSIS πΈ
first things first, you gotta pull in the headers, no cap:
#include 'globus_common.h'
#include <sys/param.h>
π Macros
one (1) macro, and she's a whole module descriptor:
GLOBUS_GASS_CACHE_MODULEβ defined as(&globus_i_gass_cache_module). it's themodule_descriptorfor this thing. iconic.
#define GLOBUS_GASS_CACHE_MODULE (&globus_i_gass_cache_module)
π¦ Typedefs
globus_gass_cache_tβ the GASS Cache Handle. this is your lil key to the whole cache kingdom, bestie π
typedef struct globus_i_gass_cache_t * globus_gass_cache_t
β¨ Functions
okay so this is the main character section, strap in π
globus_gass_cache_openβ opens a GASS Cache. literally what it says.
int globus_gass_cache_open (const char *cache_directory_path,
globus_gass_cache_t *cache_handle)
globus_gass_cache_closeβ closes a cache handle. bye bye π«Ά
int globus_gass_cache_close (globus_gass_cache_t *cache_handle)
globus_gass_cache_addβ adds a tag to an URL in the cache. matching them up like a group chat π§
int globus_gass_cache_add (globus_gass_cache_t cache_handle, const char
*url, const char *tag, globus_bool_t create, unsigned long
*timestamp, char **local_filename)
globus_gass_cache_add_doneβ completes adding a cache entry and unlocks it. the unlock is the whole point, don't forget it π
int globus_gass_cache_add_done (globus_gass_cache_t cache_handle, const
char *url, const char *tag, unsigned long timestamp)
globus_gass_cache_queryβ queries the GASS Cache. go ask her what she knows π
int globus_gass_cache_query (globus_gass_cache_t cache_handle, const
char *url, const char *tag, globus_bool_t wait_for_lock, unsigned
long *timestamp, char **local_filename, globus_bool_t *is_locked)
globus_gass_cache_delete_startβ removes a cache tag. (the start of the removal, bestie, it's a two-parter)
int globus_gass_cache_delete_start (globus_gass_cache_t cache_handle,
const char *url, const char *tag, unsigned long *timestamp)
globus_gass_cache_deleteβ removes one instance of the tag from the cache entry's tag list. just one. don't get greedy π
int globus_gass_cache_delete (globus_gass_cache_t cache_handle, const
char *url, const char *tag, unsigned long timestamp, globus_bool_t
is_locked)
globus_gass_cache_cleanup_tagβ removes a tag from a cache entry. tidy queen behavior π§Ή
int globus_gass_cache_cleanup_tag (globus_gass_cache_t cache_handle,
const char *url, const char *tag)
globus_gass_cache_cleanup_tag_allβ removes a tag from all cache entries. going nuclear, respectfully π
int globus_gass_cache_cleanup_tag_all (globus_gass_cache_t cache_handle,
char *tag)
and here's the extra explanation that comes with globus_gass_cache_cleanup_tag_all, verbatim, because the facts stay exactly the facts:
Remove all instances of the tag from the cache entry's tag list. If there are no more tags in the tag list, then remove this cache entry and delete the associated local cache file. If the cache entry is locked with the same tag as is passed to this function, then the entry is unlocked after removing the tags. Otherwise, the cache entry's lock is left untouched. "
(yes, that lone " at the end is literally in the original, iykyk, not me fixing it π)
globus_gass_cache_mangle_urlβ converts a URL into a string that's suitable to be used as a file path. mangle it, slay it β¨
int globus_gass_cache_mangle_url (const globus_gass_cache_t cache_handle,
const char *url, char **mangled_url, int *length)
globus_gass_cache_mangle_tagβ converts a tag into a string that's suitable to be used as a file path. same energy, different input π
int globus_gass_cache_mangle_tag (const globus_gass_cache_t cache_handle,
const char *tag, char **mangled_tag, int *length)
globus_gass_cache_get_dirsβ gets the whole set of directories used by a GASS Cache. the full tour, no skips π
int globus_gass_cache_get_dirs (const globus_gass_cache_t cache_handle,
const char *url, const char *tag, char **global_root, char **local_root,
char **tmp_root, char **log_root, char **global_dir, char **local_dir)
globus_gass_cache_get_cache_dirβ gets the GASS Cache's root directory. the mothership π
int globus_gass_cache_get_cache_dir (const globus_gass_cache_t cache_handle,
char **cache_dir)
globus_gass_cache_get_cache_type_stringβ gets the type of GASS Cache directory layout. like, what kind of cache are we, bestie π
int globus_gass_cache_get_cache_type_string (const globus_gass_cache_t
cache_handle, char **cache_type)
globus_gass_cache_error_stringβ looks up the error string that corresponds to a GASS Cache error. when something goes wrong, this is who tells you what π¨
const char * globus_gass_cache_error_string (int error_code)
π Detailed Description π
GASS Cache API. that's the whole vibe. that's the assignment. periodt π
π Author π
Generated automatically by Doxygen for globus_gass_cache from the source code. (not a human, just a very diligent robot bestie π€π)
okay that's the whole page, you ate it up fr fr π«Ά this was globus_gass_cache, Version 10.3 β from the globus_gass_cache.h(3) page, mwah π go cache something iconic β¨
π¦ where this page comes from
- epel 10: globus-gass-cache-doc 10.3-6.el10_0 Β· Apache-2.0
- fedora 43: globus-gass-cache-doc 10.3-11.fc43 Β· Apache-2.0
- fedora 44: globus-gass-cache-doc 10.3-12.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-gass-cache-doc 10.3-3build1 Β· Apache-2.0
- ubuntu stonking: libglobus-gass-cache-doc 10.3-4build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms