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); }
|
Module descriptor.
|
|
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.
|
|
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.
|
about globus |
globus toolkit |
dev.globus
Comments? webmaster@globus.org