globus_ftp_client_throughput_plugin(3) | Library Functions Manual | globus_ftp_client_throughput_plugin(3) |
NAME¶
globus_ftp_client_throughput_plugin - Throughput Performance Plugin
- Throughput Performance Plugin.
SYNOPSIS¶
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¶
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.
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
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_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
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_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 performance 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
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 performance 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
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_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
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
Returns
- •
- n/a
Function Documentation¶
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
Returns
- GLOBUS_SUCCESS
- 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
user_specific pointer to storage for user_specific pointer
Returns
- GLOBUS_SUCCESS
- Error on NULL plugin
- Error on NULL user_specific
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
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
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
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
Author¶
Generated automatically by Doxygen for globus_ftp_client from the source code.
Version 9.8 | globus_ftp_client |