Provided by: libglobus-ftp-client-doc_7.6-1_all
NAME
Throughput Performance Plugin - Macros #define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_MODULE (&globus_i_ftp_client_throughput_plugin_module) Typedefs typedef void(* globus_ftp_client_throughput_plugin_begin_cb_t )(void *user_specific, globus_ftp_client_handle_t *handle, const char *source_url, const char *dest_url) typedef void(* globus_ftp_client_throughput_plugin_stripe_cb_t )(void *user_specific, globus_ftp_client_handle_t *handle, int stripe_ndx, globus_off_t bytes, float instantaneous_throughput, float avg_throughput) typedef void(* globus_ftp_client_throughput_plugin_total_cb_t )(void *user_specific, globus_ftp_client_handle_t *handle, globus_off_t bytes, float instantaneous_throughput, float avg_throughput) typedef void(* globus_ftp_client_throughput_plugin_complete_cb_t )(void *user_specific, globus_ftp_client_handle_t *handle, globus_bool_t success) typedef void *(* globus_ftp_client_throughput_plugin_user_copy_cb_t )(void *user_specific) typedef void(* globus_ftp_client_throughput_plugin_user_destroy_cb_t )(void *user_specific) Functions globus_result_t globus_ftp_client_throughput_plugin_init (globus_ftp_client_plugin_t *plugin, globus_ftp_client_throughput_plugin_begin_cb_t begin_cb, globus_ftp_client_throughput_plugin_stripe_cb_t per_stripe_cb, globus_ftp_client_throughput_plugin_total_cb_t total_cb, globus_ftp_client_throughput_plugin_complete_cb_t complete_cb, void *user_specific) globus_result_t globus_ftp_client_throughput_plugin_set_copy_destroy (globus_ftp_client_plugin_t *plugin, globus_ftp_client_throughput_plugin_user_copy_cb_t copy_cb, globus_ftp_client_throughput_plugin_user_destroy_cb_t destroy_cb) globus_result_t globus_ftp_client_throughput_plugin_destroy (globus_ftp_client_plugin_t *plugin) globus_result_t globus_ftp_client_throughput_plugin_get_user_specific (globus_ftp_client_plugin_t *plugin, void **user_specific)
Detailed Description
The FTP Throughput Performance plugin allows the user to obtain calculated performance information for all types of transfers except a third party transfer in which Extended Block mode is not enabled. Note: Since this plugin is built on top of the Performance Marker Plugin, it is not possible to associate both plugins with a handle
Macro Definition Documentation
#define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_MODULE (&globus_i_ftp_client_throughput_plugin_module) Module descriptor.
Typedef Documentation
typedef void(* globus_ftp_client_throughput_plugin_begin_cb_t)(void *user_specific, globus_ftp_client_handle_t *handle, const char *source_url, const char *dest_url) Transfer begin callback This callback will be called when a transfer begins. Parameters: handle The client handle associated with this transfer user_specific User argument passed to globus_ftp_client_throughput_plugin_init source_url source of the transfer (GLOBUS_NULL if 'put') dest_url dest of the transfer (GLOBUS_NULL if 'get') Returns: • n/a typedef void(* globus_ftp_client_throughput_plugin_stripe_cb_t)(void *user_specific, globus_ftp_client_handle_t *handle, int stripe_ndx, globus_off_t bytes, float instantaneous_throughput, float avg_throughput) Stripe performace throughput callback This callback will be called with every performance callback that is received by the perf plugin. The first callback for each stripe_ndx will have an instantaneous_throughput based from the time the command was sent. Parameters: handle The client handle associated with this transfer user_specific User argument passed to globus_ftp_client_throughput_plugin_init bytes The total number of bytes received on this stripe instantaneous_throughput Instanteous throughput on this stripe (bytes / sec) avg_throughput Average throughput on this stripe (bytes / sec) stripe_ndx This stripe's index typedef void(* globus_ftp_client_throughput_plugin_total_cb_t)(void *user_specific, globus_ftp_client_handle_t *handle, globus_off_t bytes, float instantaneous_throughput, float avg_throughput) Total performace throughput callback This callback will be called with every performance callback that is received by the perf plugin. The first callback for will have an instantaneous_throughput based from the time the command was sent. This callback will be called after the per_stripe_cb Parameters: handle The client handle associated with this transfer user_specific User argument passed to globus_ftp_client_throughput_plugin_init bytes The total number of bytes received on all stripes instantaneous_throughput Total instanteous throughput on all stripes (bytes / sec) avg_throughput Average total throughput on all stripes (bytes / sec) typedef void(* globus_ftp_client_throughput_plugin_complete_cb_t)(void *user_specific, globus_ftp_client_handle_t *handle, globus_bool_t success) Transfer complete callback This callback will be called upon transfer completion (successful or otherwise) Parameters: handle The client handle associated with this transfer user_specific User argument passed to globus_ftp_client_throughput_plugin_init success indicates whether this transfer completed successfully or was interrupted (by error or abort) Returns: • n/a typedef void*(* globus_ftp_client_throughput_plugin_user_copy_cb_t)(void *user_specific) Copy constructor This callback will be called when a copy of this plugin is made, it is intended to allow initialization of a new user_specific data. Parameters: user_specific this is user specific data either created by this copy method, or the value passed to init Returns: • a pointer to a user specific piece of data • GLOBUS_NULL (does not indicate error) typedef void(* globus_ftp_client_throughput_plugin_user_destroy_cb_t)(void *user_specific) Destructor This callback will be called when a copy of this plugin is destroyed, it is intended to allow the user to free up any memory associated with the user specific data. Parameters: user_specific this is user specific data created by the copy method Returns: • n/a
Function Documentation
globus_result_t globus_ftp_client_throughput_plugin_init (globus_ftp_client_plugin_t *plugin, globus_ftp_client_throughput_plugin_begin_cb_tbegin_cb, globus_ftp_client_throughput_plugin_stripe_cb_tper_stripe_cb, globus_ftp_client_throughput_plugin_total_cb_ttotal_cb, globus_ftp_client_throughput_plugin_complete_cb_tcomplete_cb, void *user_specific) Throughput plugin init Use this function to initialize a throughput plugin. The throughput plugin sits on top of the perf_plugin. The only required param is 'plugin', all others may be GLOBUS_NULL Parameters: plugin a pointer to a plugin type to be initialized begin_cb the callback to be called upon the start of a transfer per_stripe_cb the callback to be called every time updated throughput info is available for a given stripe total_cb the callback to be called every time updated throughput info is available for any stripe complete_cb the callback to be called to indicate transfer completion user_specific a pointer to some user specific data that will be provided to all callbacks Returns: • GLOBUS_SUCCESS • Error on NULL plugin • Error on init perf plugin References GLOBUS_FTP_CLIENT_MODULE, globus_ftp_client_perf_plugin_init(), globus_ftp_client_perf_plugin_set_copy_destroy(), and globus_ftp_client_throughput_plugin_init(). globus_result_t globus_ftp_client_throughput_plugin_set_copy_destroy (globus_ftp_client_plugin_t *plugin, globus_ftp_client_throughput_plugin_user_copy_cb_tcopy_cb, globus_ftp_client_throughput_plugin_user_destroy_cb_tdestroy_cb) Set user copy and destroy callbacks Use this to have the plugin make callbacks any time a copy of this plugin is being made. This will allow the user to keep state for different handles. Parameters: plugin plugin previously initialized with init (above) copy_cb func to be called when a copy is needed destroy_cb func to be called when a copy is to be destroyed Returns: • Error on NULL arguments • GLOBUS_SUCCESS References GLOBUS_FTP_CLIENT_MODULE, globus_ftp_client_perf_plugin_get_user_specific(), and globus_ftp_client_throughput_plugin_set_copy_destroy(). globus_result_t globus_ftp_client_throughput_plugin_destroy (globus_ftp_client_plugin_t *plugin) Destroy throughput plugin Frees up memory associated with plugin. Parameters: plugin plugin previously initialized with init (above) Returns: • GLOBUS_SUCCESS • Error on NULL plugin References GLOBUS_FTP_CLIENT_MODULE, globus_ftp_client_perf_plugin_destroy(), globus_ftp_client_perf_plugin_get_user_specific(), and globus_ftp_client_throughput_plugin_destroy(). globus_result_t globus_ftp_client_throughput_plugin_get_user_specific (globus_ftp_client_plugin_t *plugin, void **user_specific) Retrieve user specific pointer. Parameters: plugin plugin previously initialized with init (above) user_specific pointer to storage for user_specific pointer Returns: • GLOBUS_SUCCESS • Error on NULL plugin • Error on NULL user_specific References GLOBUS_FTP_CLIENT_MODULE, globus_ftp_client_perf_plugin_get_user_specific(), and globus_ftp_client_throughput_plugin_get_user_specific().
Author
Generated automatically by Doxygen for globus ftp client from the source code.