Throughput Performance Plugin(3)
NAME
Throughput Performance Plugin
- 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. - Defines
- #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
Define 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:
o 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:
o 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:
o a pointer to a user specific piece of datao 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:
o 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_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)
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:
o GLOBUS_SUCCESSo Error on NULL plugino Error on init perf plugin - 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) 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:
o Error on NULL argumentso GLOBUS_SUCCESS - 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:
o GLOBUS_SUCCESSo Error on NULL plugin - 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:
o GLOBUS_SUCCESSo Error on NULL plugino Error on NULL user_specific
Author
- Generated automatically by Doxygen for globus ftp client from the
source code.