GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN.H(3)

πŸ“¦
version 9.9 Β· 6 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– globus_ftp_client_throughput_plugin.h πŸ’–

okay bestie, welcome to the manual page for globus_ftp_client_throughput_plugin.h, aka the GridFTP Throughput Performance Plugin Implementation. it lives in the globus_ftp_client manual, and it's genuinely just here to let you watch your transfer numbers go brrr. no cap. ✨


πŸŽ€ NAME πŸŽ€

globus_ftp_client_throughput_plugin.h β€” GridFTP Throughput Performance Plugin Implementation. that's it, that's the whole name, and honestly? iconic. πŸ’…


✨ SYNOPSIS ✨

so first things first, you gotta pull in the headers. lowercase, exactly like this, single quotes and all:

#include 'globus_ftp_client.h'
#include 'globus_ftp_client_plugin.h'

🌸 Macros

one (1) macro, and she's carrying the whole module on her back:

  • #define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_MODULE β€” expands to (&globus_i_ftp_client_throughput_plugin_module). that's the module handle right there, live and in person. 🫢

πŸ¦‹ Typedefs

six typedefs, all of them function pointer types, all of them callback-shaped. keep these signatures EXACT, bestie, they are not vibes-based:

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)

like… the way every single one of them takes user_specific first? consistency queen. πŸ‘‘

πŸ’œ Functions

four functions, and here's their exact shapes:

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)

not me noticing globus_ftp_client_throughput_plugin_init takes a whole lineup of callbacks β€” begin_cb, per_stripe_cb, total_cb, complete_cb β€” plus your user_specific pointer. and globus_ftp_client_throughput_plugin_set_copy_destroy pairs up a copy_cb with a destroy_cb, which is giving "we do this together or not at all" energy fr fr. 🌈


πŸ“ Detailed Description πŸ“

GridFTP Throughput Performance Plugin Implementation. yeah. that's the whole detailed description. short and sweet and honestly kind of a mood β€” the details are up there in the typedefs and functions, go read those. 😭


⭐ Author ⭐

Generated automatically by Doxygen for globus_ftp_client from the source code. so like, no human wrote this, it's a robot's little art project, and we respect the robot. πŸ€–πŸ’–


okay that's the whole page bestie!! you ate it up. no notes. πŸŽ€βœ¨

this was globus_ftp_client, Version 9.9, living on the globus_ftp...ut_plugin.h(3) page β€” mwah, go forth and measure some throughput, you absolute main character. πŸ’…πŸ‘‘πŸ¦‹