* Returns: -1 on error, 0 if no message available, message length otherwise
*
*/
+#ifdef PERF_EVENTS_INLINE
+int
+input_queue_get(char **buffer, long *offset, int timeout)
+{
+ static long o = 0;
+ int len;
+
+ len = glite_wll_perftest_produceEventString(buffer);
+ if(len) {
+ o += len;
+ *offset = o;
+ } else if (len == 0) {
+ sleep(timeout);
+ }
+ return(len);
+}
+#else
int
input_queue_get(char **buffer, long *offset, int timeout)
{
return(strlen(*buffer));
}
+#endif
#ifdef LB_PERF
" -n, --nosend PERFTEST: consume events instead of sending\n"
#ifdef PERF_EVENTS_INLINE
- " -e, --event_file <file> PERFTEST: file to read test jobs from\n"
+ " -e, --event_file <file> PERFTEST: file to read test events from\n"
+ " -j, --njobs <n> PERFTEST: number of jobs to send\n"
#endif
#endif
, program_name, program_name);
int bs_only = 0;
#ifdef LB_PERF
int nosend = 0;
-char *dest_host = NULL;
-int dest_port = 0;
-char *user = NULL;
-char *testname = NULL;
char *event_source = NULL;
int njobs = 0;
#endif
{"nosend", no_argument, 0, 'n'},
#ifdef PERF_EVENTS_INLINE
{"event_file", required_argument, 0, 'e'},
+ {"njobs", required_argument, NULL, 'j'},
#endif
#endif
{NULL, 0, NULL, 0}
"n" /* nosend */
#ifdef PERF_EVENTS_INLINE
"e:" /* event file */
+ "j:" /* num jobs */
#endif
#endif
"s:", /* socket */
case 'e':
event_source = strdup(optarg);
break;
+
+ case 'j':
+ njobs = atoi(optarg);
+ break;
#endif
#endif
#ifdef LB_PERF
/* this must be called after installing signal handlers */
- glite_wll_perftest_init(dest_host,
- dest_port,
- user,
- testname,
+ glite_wll_perftest_init(NULL, /* host */
+ NULL, /* user */
+ NULL, /* test name */
event_source,
njobs);
#endif