globus_ftp...handleattr(3)

πŸ“¦
version 9.9 Β· 6 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

✨ NAME ✨

globus_ftp_client_handleattr β€” Handle Attributes πŸ’– (and yes bestie, the man page is from the globus_ftp...handleattr(3) section of the Library Functions Manual, we're doing the whole thing)

okay so it's Handle Attributes. That's the whole name. Iconic, minimal, no notes πŸ’…


🌸 SYNOPSIS 🌸

πŸŽ€ Data Structures

  • struct globus_i_ftp_client_handleattr_t β€” Handle attributes.

πŸ¦‹ Typedefs

  • typedef struct globus_i_ftp_client_handleattr_t * globus_ftp_client_handleattr_t β€” Handle Attributes.
  • typedef struct globus_i_ftp_client_handleattr_t globus_i_ftp_client_handleattr_t β€” Handle attributes.

🧚 Initialize

globus_result_t globus_ftp_client_handleattr_init
    (globus_ftp_client_handleattr_t *attr)

πŸ’œ Destroy

globus_result_t globus_ftp_client_handleattr_destroy
    (globus_ftp_client_handleattr_t *attr)

🌈 Copy

globus_result_t globus_ftp_client_handleattr_copy
    (globus_ftp_client_handleattr_t *dest,
     globus_ftp_client_handleattr_t *src)

πŸ“ Connection Caching

globus_result_t globus_ftp_client_handleattr_set_cache_all
    (globus_ftp_client_handleattr_t *attr, globus_bool_t cache_all)

⭐ Non-root relative URLs

globus_result_t globus_ftp_client_handleattr_set_rfc1738_url
    (globus_ftp_client_handleattr_t *attr, globus_bool_t rfc1738_url)

πŸ’– Client Info

globus_result_t globus_ftp_client_handleattr_set_clientinfo
    (globus_ftp_client_handleattr_t *attr, const char *app_name,
     const char *app_version, const char *other)

πŸ”₯ GridFTP2 support

globus_result_t globus_ftp_client_handleattr_set_gridftp2
    (globus_ftp_client_handleattr_t *attr, globus_bool_t gridftp2)

πŸ‘‘ Command Pipelining

globus_result_t globus_ftp_client_handleattr_set_pipeline
    (globus_ftp_client_handleattr_t *attr, globus_size_t
     outstanding_commands, globus_ftp_client_pipeline_callback_t
     pipeline_callback, void *pipeline_arg)

🌸 URL Caching

globus_result_t globus_ftp_client_handleattr_add_cached_url
    (globus_ftp_client_handleattr_t *attr, const char *url)

πŸ¦‹ Netlogger management

globus_result_t globus_ftp_client_handleattr_set_netlogger
    (globus_ftp_client_handleattr_t *attr, globus_netlogger_handle_t
     *nl_handle)

✨ Plugin Management

globus_result_t globus_ftp_client_handleattr_add_plugin
    (globus_ftp_client_handleattr_t *attr, globus_ftp_client_plugin_t
     *plugin)
globus_result_t globus_ftp_client_operationattr_init
    (globus_ftp_client_operationattr_t *attr)
globus_result_t globus_ftp_client_operationattr_destroy
    (globus_ftp_client_operationattr_t *attr)

πŸ’« Detailed Description πŸ’«

Handle Attributes. That's it. That's the description. 😭

Okay fr fr though: handle attributes are the lil control panel for the extra features of the FTP Client handle. And the key thing β€” the way that they're operation independent, meaning they're not tied to any one transfer you're doing. They're the vibe of the handle itself, not of a single job. 🫢

Right now the attributes you can set on a handle are about two things:

  • the connection caching behavior of the handle
  • the associations of plugins with a handle

πŸ‘€ See also

globus_ftp_client_handle_t


🌈 Typedef Documentation 🌈

typedef struct globus_i_ftp_client_handleattr_t* globus_ftp_client_handleattr_t

Handle Attributes. These are used to control the caching behavior of the ftp client handle, and to implement the plugin features for reliability and performance tuning. πŸ’…

See also: globus_ftp_client_handle_t, Handle Attributes


πŸŽ€ Function Documentation πŸŽ€

globus_result_t globus_ftp_client_handleattr_add_cached_url (globus_ftp_client_handleattr_t * attr, const char * url)

Enable/Disable caching for a specific URL.

This function adds/removes the specified URL into the default cache for a handle attribute. Handles initialized with this attr will keep connections to FTP servers associated with the URLs in its cache open between operations.

Parameters

  • attr β€” Attribute to modify
  • url β€” URL string to cache

globus_result_t globus_ftp_client_handleattr_add_plugin (globus_ftp_client_handleattr_t * attr, globus_ftp_client_plugin_t * plugin)

Add/Remove a plugin to a handle attribute set.

Each handle attribute set contains a list of plugins associated with it. When a handle is created with a particular attribute set, it will be associated with a copy of those plugins.

Only one instance of a specific plugin may be added to an attribute set. Each plugin must have a different name. ⚠️

A copy of the plugin is created via the plugins 'copy' method when it is added to an attribute set. Thus, any changes to a particular plugin must be done before the plugin is added to an attribute set, and before the attribute set is used to create handles. So like… do your edits first, bestie, then hand it over. πŸ™ˆ

Parameters

  • attr β€” The attribute set to modify.
  • plugin β€” The plugin to add or remove from the list.

globus_result_t globus_ftp_client_handleattr_copy (globus_ftp_client_handleattr_t * dest, globus_ftp_client_handleattr_t * src)

Create a duplicate of a handle attribute set.

The duplicated attribute set has a deep copy of all data in the attribute set, so the original may be destroyed while the copy is still valid. Cloning done right, no cap. πŸ‘‘

Parameters

  • dest β€” The attribute set to be initialized to the same values as src.
  • src β€” The original attribute set to duplicate.

globus_result_t globus_ftp_client_handleattr_destroy (globus_ftp_client_handleattr_t * attr)

Destroy an FTP client handle attribute set.

This function destroys an ftp client handle attribute set. All attributes on this set will be lost. The user must call globus_ftp_client_handleattr_init() again on this attribute set before calling any other handle attribute functions on it. πŸ’€ (it's giving "you have to reintroduce yourself")

Parameters

  • attr β€” The attribute set to destroy.

globus_result_t globus_ftp_client_handleattr_init (globus_ftp_client_handleattr_t * attr)

Initialize an FTP client handle attribute set.

This function creates an empty FTP Client handle attribute set. This function must be called on each attribute set before any of the other functions in this section may be called. Like, step one. Mandatory. Periodt. ✨

Parameters

  • attr β€” The new handle attribute.

See also: globus_ftp_client_handleattr_destroy()

globus_result_t globus_ftp_client_handleattr_set_cache_all (globus_ftp_client_handleattr_t * attr, globus_bool_t cache_all)

Set/Get the cache all connections attribute for an ftp client handle attribute set.

This attribute allows the user to cause all control connections to be cached between ftp operations. When this is enabled, the user skips the authentication handshake and connection establishment overhead for multiple subsequent ftp operations to the same server. The way that this saves you the whole handshake every single time… obsessed. 🫢

Memory and network connections associated with the caching will be used until the handle is destroyed. If fine grained caching is needed, then the user should disable this attribute and explicitly cache specific URLs.

Parameters

  • attr β€” Attribute to query or modify.
  • cache_all β€” Value of the cache_all attribute.

See also: globus_ftp_client_handleattr_add_cached_url(), globus_ftp_client_handleattr_remove_cached_url(), globus_ftp_client_handle_cache_url_state(), globus_ftp_client_handle_flush_url_state()

globus_result_t globus_ftp_client_handleattr_set_clientinfo (globus_ftp_client_handleattr_t * attr, const char * app_name, const char * app_version, const char * other)

Set/Get client info reported to server.

Parameters

  • attr β€” Attribute to modify
  • app_name β€” Name of client application.
  • app_version β€” Client application specific version string.
  • other β€” Additional client info to be reported to the server. This may be used to pass custom info to a custom server module. The format of the string must be: key1="value1";key2="value2";[keyn="valuen";]

Any parameter may be NULL. By default, generic library info will be reported to the server -- set all NULL to disable this.

globus_result_t globus_ftp_client_handleattr_set_gridftp2 (globus_ftp_client_handleattr_t * attr, globus_bool_t gridftp2)

Enable/Disable GridFTP2 [GFD.41] support for servers supporting it. This currently only applies to the GET/PUT command. πŸ”₯

Parameters

  • attr β€” Attribute to modify
  • gridftp2 β€” Set to GLOBUS_FALSE to disable GridFTP2 support. GridFTP2 support is enabled by default for servers that support it.

globus_result_t globus_ftp_client_handleattr_set_netlogger (globus_ftp_client_handleattr_t * attr, globus_netlogger_handle_t * nl_handle)

Set the netlogger handle used with this transfer.

Each handle can have a netlogger handle associated with it for logging its data.

Only 1 netlogger handle can be associated with a client handle. One. Uno. Don't try it. πŸ™…

Parameters

  • attr β€” The attribute set to modify.
  • nl_handle β€” The open netlogger handle to be associated with this attribute set.

globus_result_t globus_ftp_client_handleattr_set_pipeline (globus_ftp_client_handleattr_t * attr, globus_size_t outstanding_commands, globus_ftp_client_pipeline_callback_t pipeline_callback, void * pipeline_arg)

Enable/Disable command queueing for pipelined transfers.

Parameters

  • attr β€” Attribute to modify
  • outstanding_commands β€” Set to the number of commands to have sent without receiving a reply. Use 0 for the library default.
  • pipeline_callback β€” Set to a function of type globus_ftp_client_pipeline_callback_t to enable command pipelining. This function will be called during a transfer operation to request the next urls to be transferred.
  • pipeline_arg β€” User data that will be passed in the pipeline_callback.

globus_result_t globus_ftp_client_handleattr_set_rfc1738_url (globus_ftp_client_handleattr_t * attr, globus_bool_t rfc1738_url)

Enable/Disable rfc1738 support for non-root relative URLs.

Parameters

  • attr β€” Attribute to modify
  • rfc1738_url β€” Set to GLOBUS_TRUE to enable non-root relative URLs. Default of GLOBUS_FALSE specifies root-relative URLs.

globus_result_t globus_ftp_client_operationattr_destroy (globus_ftp_client_operationattr_t * attr)

Destroy an FTP client attribute set.

Parameters

  • attr β€” A pointer to the attribute to destroy.

globus_result_t globus_ftp_client_operationattr_init (globus_ftp_client_operationattr_t * attr)

Initialize an FTP client attribute set.

Parameters

  • attr β€” A pointer to the new attribute set.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for globus_ftp_client from the source code. (Not me, bestie β€” the robots did it. Respect tho. πŸ€–πŸ’–)


okay that's the whole page, mwah πŸ’‹ and just so you know where this all came from: it's globus_ftp_client, Version 9.9, living in the globus_ftp...handleattr(3) corner of the manual. Go forth and cache those connections. πŸŒΈπŸ¦‹βœ¨