Grid Community Toolkit  6.2.1629922860 (tag: v6.2.20210826)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs
Handle Attributes

Handle Attributes. More...

Data Structures

struct  globus_i_ftp_client_handleattr_t
 Handle attributes. More...


typedef struct
 Handle Attributes.Handle attributes are used to control the caching behavior of the ftp client handle, and to implement the plugin features for reliability and performance tuning. More...
typedef struct
 Handle attributes.


globus_result_t globus_ftp_client_handleattr_init (globus_ftp_client_handleattr_t *attr)


globus_result_t globus_ftp_client_handleattr_destroy (globus_ftp_client_handleattr_t *attr)


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)
globus_result_t globus_ftp_client_handleattr_get_cache_all (const 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)
globus_result_t globus_ftp_client_handleattr_get_rfc1738_url (const 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)
globus_result_t globus_ftp_client_handleattr_get_clientinfo (globus_ftp_client_handleattr_t *attr, char **app_name, char **app_version, char **other)

GridFTP2 support

globus_result_t globus_ftp_client_handleattr_set_gridftp2 (globus_ftp_client_handleattr_t *attr, globus_bool_t gridftp2)
globus_result_t globus_ftp_client_handleattr_get_gridftp2 (const 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)
globus_result_t globus_ftp_client_handleattr_get_pipeline (const 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)
globus_result_t globus_ftp_client_handleattr_remove_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)
globus_result_t globus_ftp_client_handleattr_set_netlogger_ftp_io (globus_ftp_client_handleattr_t *attr, globus_netlogger_handle_t *nl_handle, globus_bool_t ftp, globus_bool_t io)

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_handleattr_remove_plugin (globus_ftp_client_handleattr_t *attr, globus_ftp_client_plugin_t *plugin)

Detailed Description

Handle Attributes.

Handle attributes are used to control additional features of the FTP Client handle. These features are operation independent.

The attribute which can currently set on a handle concern the connection caching behavior of the handle, and the associations of plugins with a handle.

See Also

Typedef Documentation

Handle Attributes.Handle attributes 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 .

attrAttribute to modify
urlURL 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.

attrThe attribute set to modify.
pluginThe plugin to add or remove from the list.
globus_ftp_client_debug_plugin.example, and globus_ftp_client_restart_plugin.example.
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.

destThe attribute set to be initialized to the same values as src.
srcThe 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.

attrThe 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.

attrThe new handle attribute.
See Also
globus_ftp_client_debug_plugin.example, and globus_ftp_client_restart_plugin.example.
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.

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.

attrAttribute to query or modify.
cache_allValue 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.

attrAttribute to modify
app_nameName of client application.
app_versionClient application specific version string.
otherAdditional 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.

attrAttribute to modify
gridftp2Set 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.

attrThe attribute set to modify.
nl_handleThe 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.

attrAttribute to modify
outstanding_commandsSet to the number of commands to have sent without receiving a reply. Use 0 for the library default.
pipeline_callbackSet 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_argUser 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.

attrAttribute to modify
rfc1738_urlSet to GLOBUS_TRUE to enable non-root relative URLs. Default of GLOBUS_FALSE specifies root-relative URLs.