Grid Community Toolkit  6.2.1541705016
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 
37 #include "globus_ftp_client.h"
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
47 #define GLOBUS_FTP_CLIENT_THROUGHPUT_PLUGIN_MODULE (&globus_i_ftp_client_throughput_plugin_module)
48 
49 extern
50 globus_module_descriptor_t globus_i_ftp_client_throughput_plugin_module;
51 
75  void * user_specific,
77  const char * source_url,
78  const char * dest_url);
79 
110  void * user_specific,
112  int stripe_ndx,
113  globus_off_t bytes,
114  float instantaneous_throughput,
115  float avg_throughput);
116 
144  void * user_specific,
146  globus_off_t bytes,
147  float instantaneous_throughput,
148  float avg_throughput);
149 
172  void * user_specific,
174  globus_bool_t success);
175 
176 
193 typedef void * (*globus_ftp_client_throughput_plugin_user_copy_cb_t)(
194  void * user_specific);
195 
212  void * user_specific);
213 
221  void * user_specific);
222 
228 
231  globus_ftp_client_plugin_t * plugin);
232 
236  void ** user_specific);
237 
238 #ifdef __cplusplus
239 }
240 #endif
241 
242 #endif /* GLOBUS_INCLUDE_FTP_CLIENT_THROUGHPUT_PLUGIN_H */
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:74
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:109
void(* globus_ftp_client_throughput_plugin_user_destroy_cb_t)(void *user_specific)
Definition: globus_ftp_client_throughput_plugin.h:211
FTP Client handle implementation.
Definition: globus_i_ftp_client.h:522
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:171
void *(* globus_ftp_client_throughput_plugin_user_copy_cb_t)(void *user_specific)
Definition: globus_ftp_client_throughput_plugin.h:193
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
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:143
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
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.
uint32_t globus_result_t
Definition: globus_types.h:99
Plugin Implementation.
FTP Client Plugin.Each plugin implementation should define a method for initializing one of these str...
Definition: globus_i_ftp_client.h:798
Module Descriptor.
Definition: globus_module.h:69