Grid Community Toolkit  6.2.1541705016
globus_ftp_client_throughput_nl_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_NL_PLUGIN_H
18 #define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_H
19 
68 #include "globus_ftp_client.h"
71 #include "NetLogger.h"
72 
73 #ifdef __cplusplus
74 extern "C" {
75 #endif
76 
80 #define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULE (&globus_i_ftp_client_throughput_nl_plugin_module)
81 
82 extern
83 globus_module_descriptor_t globus_i_ftp_client_throughput_nl_plugin_module;
84 
88  const char * nl_url,
89  const char * prog_name,
90  const char * opaque_string);
91 
95  NLhandle * nl_handle,
96  const char * opaque_string);
97 
100  globus_ftp_client_plugin_t * plugin);
101 
109  void * user_specific);
110 
111 #ifdef __cplusplus
112 }
113 #endif
114 
115 #endif /* GLOBUS_FTP_CLIENT_THROUGHPUT_NL_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
globus_result_t globus_ftp_client_throughput_nl_plugin_set_callbacks(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_nl_plugin.c:552
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
globus_result_t globus_ftp_client_throughput_nl_plugin_init(globus_ftp_client_plugin_t *plugin, const char *nl_url, const char *prog_name, const char *opaque_string)
Definition: globus_ftp_client_throughput_nl_plugin.c:298
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_nl_plugin_destroy(globus_ftp_client_plugin_t *plugin)
Definition: globus_ftp_client_throughput_nl_plugin.c:472
GridFTP Client.
uint32_t globus_result_t
Definition: globus_types.h:99
globus_result_t globus_ftp_client_throughput_nl_plugin_init_with_handle(globus_ftp_client_plugin_t *plugin, NLhandle *nl_handle, const char *opaque_string)
Definition: globus_ftp_client_throughput_nl_plugin.c:374
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
GridFTP Throughput Performance Plugin Implementation.
Module Descriptor.
Definition: globus_module.h:69