---
name: "GLOBUS_FTP_CLIENT_RESTART_PLUGIN_MODULE"
section: "3"
platform: "linux"
package: "libglobus-ftp-client-doc"
version: "9.8-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_ftp_client_restart_plugin"
---

# GLOBUS\_FTP\_CLIENT\_RESTART\_PLUGIN\_MODULE(3)

Restart Plugin - Restart Plugin.

Part of [globus\_ftp\_client\_restart\_plugin(3)](/globus_ftp_client_restart_plugin/3.md).

## NAME

globus\_ftp\_client\_restart\_plugin - Restart Plugin

 \- Restart Plugin.

## SYNOPSIS

### Macros

\#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)\
 globus\_result\_t **globus\_ftp\_client\_restart\_plugin\_destroy** (**globus\_ftp\_client\_plugin\_t** \*plugin)\

## Detailed Description

Restart Plugin.

The restart plugin implements one scheme for providing reliability functionality for the FTP Client library. Other plugins may be developed to provide other methods of reliability.

The specific functionality of this plugin is to restart any FTP operation when a fault occurs. The plugin's operation is parameterized to control how often and when to attempt to restart the operation.

This restart plugin will restart an FTP operation if a noticeable fault has occurred---a connection timing out, a failure by the server to process a command, a protocol error, an authentication error.

This plugin has three user-configurable parameters; these are the maximum number of retries to attempt, the interval to wait between retries, and the deadline after which no further retries will be attempted. These are set by initializing a restart plugin instance with the function **globus\_ftp\_client\_restart\_plugin\_init()**.

## Macro Definition 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\_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

- •

  plugin is null

- •

  plugin is not a restart plugin

**See also**

**globus\_ftp\_client\_restart\_plugin\_init()**, **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\_init (globus\_ftp\_client\_plugin\_t \* plugin, int max\_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

- •

  plugin is null

**See also**

**globus\_ftp\_client\_restart\_plugin\_destroy()**, **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.
