table of contents
other versions
- wheezy 7.3-1
- wheezy-backports 8.13-6~bpo70+1
- jessie 8.13-6
- testing 8.33-1
- unstable 8.34-1
Restart Plugin(3) | globus ftp client | Restart Plugin(3) |
NAME¶
Restart Plugin -Defines¶
#define GLOBUS_FTP_CLIENT_RESTART_PLUGIN_MODULE (&globus_i_ftp_client_restart_plugin_module)
Functions¶
globus_result_t globus_ftp_client_restart_plugin_init (globus_ftp_client_plugin_t *plugin, int max_retries, globus_reltime_t *interval, globus_abstime_t *deadline)
Detailed Description¶
The restart plugin implements one scheme for providing reliability functionality for the FTP Client library.Example Usage¶
The following example illustrates a typical use of the restart plugin. In this case, we configure a plugin instance to restart the operation for up to an hour, using an exponential back-off between retries.#include 'globus_ftp_client.h' #include 'globus_ftp_client_restart_plugin.h' #include 'globus_time.h' int main(int argc, char *argv[]) { globus_ftp_client_plugin_t restart_plugin; globus_ftp_client_handleattr_t handleattr; globus_ftp_client_handle_t handle; globus_abstime_t deadline; globus_module_activate(GLOBUS_FTP_CLIENT_MODULE); globus_module_activate(GLOBUS_FTP_CLIENT_RESTART_PLUGIN_MODULE); /* Set a deadline to be now + 1 hour */ GlobusAbstimeSet(deadline, 60 * 60, 0); /* initialize a plugin with this deadline */ globus_ftp_client_restart_plugin_init( &restart_plugin, 0, /* # retry limit (0 means don't limit) */ GLOBUS_NULL, /* interval between retries--null means * exponential backoff */ &deadline); /* Set up our handle to use the new plugin */ globus_ftp_client_handleattr_init(&handleattr); globus_ftp_client_handleattr_add_plugin(&handleattr, &restart_plugin); globus_ftp_client_handle_init(&handle, &handleattr); /* * Now, if a fault occurs processing this get, the plugin will restart * it with an exponential back-off, and will bail if a fault occurs * after 1 hour of retrying */ globus_ftp_client_get(&handle, 'ftp://ftp.globus.org/pub/globus/README', GLOBUS_NULL, GLOBUS_NULL, callback_fn, GLOBUS_NULL); }
Define Documentation¶
#define GLOBUS_FTP_CLIENT_RESTART_PLUGIN_MODULE (&globus_i_ftp_client_restart_plugin_module)¶
Module descriptor.Function Documentation¶
globus_result_t globus_ftp_client_restart_plugin_init (globus_ftp_client_plugin_t *plugin, intmax_retries, globus_reltime_t *interval, globus_abstime_t *deadline)¶
Initialize an instance of the GridFTP restart plugin This function will initialize the plugin-specific instance data for this plugin, and will make the plugin usable for ftp client handle attribute and handle creation. Parameters:plugin A pointer to an uninitialized
plugin. The plugin will be configured as a restart plugin.
max_retries The maximum number of times to retry the operation before
giving up on the transfer. If this value is less than or equal to 0, then the
restart plugin will keep trying to restart the operation until it completes or
the deadline is reached with an unsuccessful operation.
interval The interval to wait after a failures before retrying the
transfer. If the interval is 0 seconds or GLOBUS_NULL, then an exponential
backoff will be used.
deadline An absolute timeout. If the deadline is GLOBUS_NULL then the
retry will never timeout.
Returns:
This function returns an error if
See also:
- •
- plugin is null
globus_ftp_client_restart_plugin_destroy(),
globus_ftp_client_handleattr_add_plugin(),
globus_ftp_client_handleattr_remove_plugin(),
globus_ftp_client_handle_init()
globus_result_t globus_ftp_client_restart_plugin_destroy (globus_ftp_client_plugin_t *plugin)¶
Destroy an instance of the GridFTP restart plugin This function will free all restart plugin-specific instance data from this plugin, and will make the plugin unusable for further ftp handle creation. Existing FTP client handles and handle attributes will not be affected by destroying a plugin associated with them, as a local copy of the plugin is made upon handle initialization. Parameters:plugin A pointer to a GridFTP restart
plugin, previously initialized by calling
globus_ftp_client_restart_plugin_init()
Returns:
This function returns an error if
See also:
- •
- plugin is null
- •
- plugin is not a restart plugin
globus_ftp_client_restart_plugin_init(),
globus_ftp_client_handleattr_add_plugin(),
globus_ftp_client_handleattr_remove_plugin(),
globus_ftp_client_handle_init()
Author¶
Generated automatically by Doxygen for globus ftp client from the source code.Mon Apr 30 2012 | Version 7.3 |