globus_ftp_client_perf_plugin(3) | Library Functions Manual | globus_ftp_client_perf_plugin(3) |
globus_ftp_client_perf_plugin - Performance Marker Plugin
- Performance Marker Plugin.
#define GLOBUS_FTP_CLIENT_PERF_PLUGIN_MODULE
(&globus_i_ftp_client_perf_plugin_module)
typedef void(* globus_ftp_client_perf_plugin_begin_cb_t)
(void *user_specific, globus_ftp_client_handle_t *handle, const char
*source_url, const char *dest_url, globus_bool_t restart)
typedef void(* globus_ftp_client_perf_plugin_marker_cb_t) (void
*user_specific, globus_ftp_client_handle_t *handle, time_t
time_stamp_int, char time_stamp_tenth, int stripe_ndx, int num_stripes,
globus_off_t nbytes)
typedef void(* globus_ftp_client_perf_plugin_complete_cb_t) (void
*user_specific, globus_ftp_client_handle_t *handle, globus_bool_t
success)
typedef void *(* globus_ftp_client_perf_plugin_user_copy_cb_t) (void
*user_specific)
typedef void(* globus_ftp_client_perf_plugin_user_destroy_cb_t) (void
*user_specific)
globus_result_t globus_ftp_client_perf_plugin_init
(globus_ftp_client_plugin_t *plugin,
globus_ftp_client_perf_plugin_begin_cb_t begin_cb,
globus_ftp_client_perf_plugin_marker_cb_t marker_cb,
globus_ftp_client_perf_plugin_complete_cb_t complete_cb, void
*user_specific)
globus_result_t globus_ftp_client_perf_plugin_set_copy_destroy
(globus_ftp_client_plugin_t *plugin,
globus_ftp_client_perf_plugin_user_copy_cb_t copy_cb,
globus_ftp_client_perf_plugin_user_destroy_cb_t destroy_cb)
globus_result_t globus_ftp_client_perf_plugin_destroy
(globus_ftp_client_plugin_t *plugin)
globus_result_t globus_ftp_client_perf_plugin_get_user_specific
(globus_ftp_client_plugin_t *plugin, void **user_specific)
Performance Marker Plugin.
The FTP Performance Marker plugin allows the user to obtain performance markers for all types of transfers except a third party transfer in which Extended Block mode is not enabled.
These markers may be generated internally, or they may be received from a server ('put' or third_party_transfer' only).
Copy constructor and destructor callbacks are also provided to allow one to more easily layer other plugins on top of this one.
Module descriptor
Transfer begin callback
This callback is called when a get, put, or third party transfer is started. Note that it is possible for this callback to be made multiple times before ever receiving the complete callback... this would be the case if a transfer was restarted. The 'restart' will indicate whether or not we have been restarted.
Parameters
Returns
Transfer complete callback
This callback will be called upon transfer completion (successful or otherwise)
Parameters
Returns
Performance marker received callback
This callback is called for all types of transfers except a third party in which extended block mode is not used (because 112 perf markers won't be sent in that case). For extended mode 'put' and '3pt', actual 112 perf markers will be used and the frequency of this callback is dependent upon the frequency those messages are received. For 'put' in which extended block mode is not enabled and 'get' transfers, the information in this callback will be determined locally and the frequency of this callback will be at a maximum of one per second.
Parameters
Returns
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
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
Destroy performance marker plugin
Frees up memory associated with plugin
Parameters
Returns
Retrieve user specific pointer
Parameters
Returns
Initialize a perf plugin
This function initializes a performance marker plugin. Any params except for the plugin may be GLOBUS_NULL
Parameters
Returns
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
Returns
Generated automatically by Doxygen for globus_ftp_client from the source code.
Version 9.8 | globus_ftp_client |