Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_ftp_client_throughput_plugin.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_H
18 #define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_H
19 
38 #include "globus_ftp_client.h"
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
48 #define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_MODULE (&globus_i_ftp_client_throughput_plugin_module)
49 
50 extern
51 globus_module_descriptor_t globus_i_ftp_client_throughput_plugin_module;
52 
76  void * user_specific,
78  const char * source_url,
79  const char * dest_url);
80 
111  void * user_specific,
113  int stripe_ndx,
114  globus_off_t bytes,
115  float instantaneous_throughput,
116  float avg_throughput);
117 
145  void * user_specific,
147  globus_off_t bytes,
148  float instantaneous_throughput,
149  float avg_throughput);
150 
173  void * user_specific,
175  globus_bool_t success);
176 
177 
194 typedef void * (*globus_ftp_client_throughput_plugin_user_copy_cb_t)(
195  void * user_specific);
196 
213  void * user_specific);
214 
222  void * user_specific);
223 
229 
232  globus_ftp_client_plugin_t * plugin);
233 
237  void ** user_specific);
238 
239 #ifdef __cplusplus
240 }
241 #endif
242 
243 #endif /* GLOBUS_INCLUDE_FTP_CLIENT_THROUGHPUT_PLUGIN_H */
void(* globus_ftp_client_throughput_plugin_user_destroy_cb_t)(void *user_specific)
Definition: globus_ftp_client_throughput_plugin.h:212
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)
Definition: globus_ftp_client_throughput_plugin.h:75
FTP Client handle implementation.
Definition: globus_i_ftp_client.h:522
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
globus_result_t globus_ftp_client_throughput_plugin_get_user_specific(globus_ftp_client_plugin_t *plugin, void **user_specific)
Definition: globus_ftp_client_throughput_plugin.c:717
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)
Definition: globus_ftp_client_throughput_plugin.h:144
globus_result_t globus_ftp_client_throughput_plugin_destroy(globus_ftp_client_plugin_t *plugin)
Definition: globus_ftp_client_throughput_plugin.c:661
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)
Definition: globus_ftp_client_throughput_plugin.c:610
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)
Definition: globus_ftp_client_throughput_plugin.c:509
GridFTP Client.
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)
Definition: globus_ftp_client_throughput_plugin.h:110
uint32_t globus_result_t
Definition: globus_types.h:99
Plugin Implementation.
void(* globus_ftp_client_throughput_plugin_complete_cb_t)(void *user_specific, globus_ftp_client_handle_t *handle, globus_bool_t success)
Definition: globus_ftp_client_throughput_plugin.h:172
FTP Client Plugin.Each plugin implementation should define a method for initializing one of these str...
Definition: globus_i_ftp_client.h:798
void *(* globus_ftp_client_throughput_plugin_user_copy_cb_t)(void *user_specific)
Definition: globus_ftp_client_throughput_plugin.h:194
Module Descriptor.
Definition: globus_module.h:71