![]() |
This may be useful for debugging FTP configuration problems.
When this plugin is used for a GridFTP Client operation, information will be printed to the file stream associated with the plugin when a user begins an operation, for all data buffers which pass through while handling a data transfer, and for all protocol messages which are sent and received.
Example Usage:
The following example illustrates a typical use of the debug plugin. In this case, we configure a plugin instance to output log messages preceded by the process name and pid to a file named gridftp.log.
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; FILE * log; char text[256]; /* Activate the necessary modules */ globus_module_activate(GLOBUS_FTP_CLIENT_MODULE); globus_module_activate(GLOBUS_FTP_CLIENT_DEBUG_PLUGIN_MODULE); /* Configure plugin to show custom text, and send plugin data to * a custom log file */ log = fopen("gridftp.log", "a"); sprintf(text, "%s:%ld", argv[0], (long) getpid()); globus_ftp_client_debug_plugin_init(&debug_plugin, log, text); /* Set up our client handle to use the new plugin */ globus_ftp_client_handleattr_init(&handleattr); globus_ftp_client_handleattr_add_plugin(&handleattr, &debug_plugin); globus_ftp_client_handle_init(&handle, &handleattr); /* As this get is processed, data will be appended to our gridftp.log * file */ globus_ftp_client_get(&handle, "ftp://ftp.globus.org/pub/globus/README", GLOBUS_NULL, GLOBUS_NULL, callback_fn, GLOBUS_NULL); }
#define GLOBUS_FTP_CLIENT_DEBUG_PLUGIN_MODULE (&globus_i_ftp_client_debug_plugin_module) |
Module descriptor.
globus_result_t globus_ftp_client_debug_plugin_init | ( | globus_ftp_client_plugin_t * | plugin, | |
FILE * | stream, | |||
const char * | text | |||
) |
Initialize an instance of the GridFTP debugging plugin
This function will initialize the debugging plugin-specific instance data for this plugin, and will make the plugin usable for ftp client handle attribute and handle creation.
plugin | A pointer to an uninitialized plugin. The plugin will be configured as a debugging plugin, with the default of sending debugging messages to stderr. | |
stream | ||
text |
globus_result_t globus_ftp_client_debug_plugin_destroy | ( | globus_ftp_client_plugin_t * | plugin | ) |
Destroy an instance of the GridFTP debugging plugin
This function will free all debugging 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.
plugin | A pointer to a GridFTP debugging plugin, previously initialized by calling globus_ftp_client_debug_plugin_init() |
about globus |
globus toolkit |
dev.globus
Comments? webmaster@globus.org