Grid Community Toolkit  6.2.1567772254 (tag: v6.2.20190906)
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 
69 #include "globus_ftp_client.h"
72 #include "NetLogger.h"
73 
74 #ifdef __cplusplus
75 extern "C" {
76 #endif
77 
81 #define GLOBUS_FTP_CLIENT_THROUGHPUT_NL_PLUGIN_MODULE (&globus_i_ftp_client_throughput_nl_plugin_module)
82 
83 extern
84 globus_module_descriptor_t globus_i_ftp_client_throughput_nl_plugin_module;
85 
89  const char * nl_url,
90  const char * prog_name,
91  const char * opaque_string);
92 
96  NLhandle * nl_handle,
97  const char * opaque_string);
98 
101  globus_ftp_client_plugin_t * plugin);
102 
110  void * user_specific);
111 
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #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:75
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
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:172
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:144
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:71