Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_i_xioperf.h
1 /*
2  * Copyright 1999-2014 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 #include "globus_common.h"
18 #include "globus_xio.h"
19 #include "globus_xio_tcp_driver.h"
21 #include "version.h"
22 
23 
24 #if !defined(GLOBUS_I_XIOPERF_H)
25 #define GLOBUS_I_XIOPERF_H 1
26 
27 #define GlobusXIOPerfError(error_msg, _type) \
28  globus_error_put( \
29  globus_error_construct_error( \
30  NULL, \
31  NULL, \
32  _type, \
33  __FILE__, \
34  _xioperf_func_name, \
35  __LINE__, \
36  "%s", \
37  (error_msg)))
38 
39 #ifdef __GNUC__
40 #define GlobusXIOPerfFuncName(func) static const char * _xioperf_func_name __attribute__((__unused__)) = #func
41 #else
42 #define GlobusXIOPerfFuncName(func) static const char * _xioperf_func_name = #func
43 #endif
44 
45 enum
46 {
47  GLOBUS_XIO_PERF_ERROR_PARM = 1
48 };
49 
50 typedef struct globus_i_xioperf_info_s
51 {
52  char format;
53  int interval;
54  globus_off_t len;
55  int port;
56  globus_off_t window;
57  char * bind_addr;
58  globus_bool_t nodelay;
59  globus_bool_t server;
60  globus_bool_t reader;
61  globus_bool_t writer;
62  globus_bool_t dual;
63  char * client;
64  char * file;
65  char * subject;
66  globus_off_t bytes_to_transfer;
67  globus_off_t bytes_sent;
68  globus_off_t bytes_recv;
69  globus_bool_t daemon;
70  globus_size_t block_size;
71  globus_size_t next_buf_size;
72  int stream_count;
73  globus_xio_stack_t stack;
74  globus_reltime_t time;
75  globus_mutex_t mutex;
76  globus_cond_t cond;
77  globus_bool_t write_done;
78  globus_bool_t read_done;
79  globus_bool_t die;
80  globus_bool_t eof;
81  globus_object_t * err;
82  int ref;
83  FILE * fptr;
84  globus_xio_handle_t xio_handle;
85  globus_byte_t * next_write_buffer;
86  globus_xio_server_t server_handle;
87  globus_abstime_t start_time;
88  globus_abstime_t end_time;
89  globus_xio_attr_t attr;
90  globus_bool_t quiet;
91  globus_fifo_t driver_name_q;
92 } globus_i_xioperf_info_t;
93 
94 #endif
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
struct globus_fifo_s * globus_fifo_t
Definition: globus_fifo.h:48
Header file for XIO TCP Driver.
Mutex.
Definition: globus_thread.h:107
Condition variable.
Definition: globus_thread.h:124
size_t globus_size_t
Standard size of memory objectThe globus_size_t is the size of a memory object. It is identical to si...
Definition: globus_types.h:48
unsigned char globus_byte_t
Unsigned byte datatypeThis is used for byte-addressable arrays of arbitrary data which is not subject...
Definition: globus_types.h:85
Headers common to all of Globus.
XIO MODE_E Driver.