changed output to be non-cascarding when using -n switch
[yaz-moved-to-github.git] / zoom / zoom-benchmark.c
index fa15e7d..396cb67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: zoom-benchmark.c,v 1.12 2005-09-20 12:07:29 marc Exp $
+ * $Id: zoom-benchmark.c,v 1.17 2007-01-04 14:43:08 marc Exp $
  *
  * Asynchronous multi-target client doing search and piggyback retrieval
  */
@@ -75,10 +75,15 @@ void  update_events(int *elc, struct event_line_t *els,
     els[iels].time_usec = usec;
     els[iels].progress = prog;
     els[iels].event = event;
-    strcpy(els[iels].zoom_event, eventmsg);
+
+    if (eventmsg)
+        strcpy(els[iels].zoom_event, eventmsg);
+    else
+        strcpy(els[iels].zoom_event, "---");
+
     els[iels].error = error;
     strcpy(els[iels].errmsg, errmsg);
-    //print_event_line(&els[iels]);
+    /* print_event_line(&els[iels]); */
     elc[ielc] += 1;
 }
 
@@ -105,7 +110,7 @@ void  print_events(int *elc,  struct event_line_t *els,
 
 
 
-void init_statics()
+void init_statics(void)
 {
     int i;
     char nullstring[1] = "";
@@ -121,18 +126,20 @@ void init_statics()
     zoom_events[ZOOM_EVENT_RECV_APDU] = "ZOOM_EVENT_RECV_APDU";
     zoom_events[ZOOM_EVENT_RECV_RECORD] = "ZOOM_EVENT_RECV_RECORD";
     zoom_events[ZOOM_EVENT_RECV_SEARCH] = "ZOOM_EVENT_RECV_SEARCH";
+    zoom_events[ZOOM_EVENT_END] = "ZOOM_EVENT_END";
 
     /* re-sorting event numbers to progress numbers */
     zoom_progress[ZOOM_EVENT_NONE] = 0;
     zoom_progress[ZOOM_EVENT_CONNECT] = 1;
     zoom_progress[ZOOM_EVENT_SEND_DATA] = 3;
     zoom_progress[ZOOM_EVENT_RECV_DATA] = 4;
-    zoom_progress[ZOOM_EVENT_TIMEOUT] = 8;
-    zoom_progress[ZOOM_EVENT_UNKNOWN] = 9;
+    zoom_progress[ZOOM_EVENT_TIMEOUT] = 9;
+    zoom_progress[ZOOM_EVENT_UNKNOWN] = 10;
     zoom_progress[ZOOM_EVENT_SEND_APDU] = 2;
     zoom_progress[ZOOM_EVENT_RECV_APDU] = 5;
     zoom_progress[ZOOM_EVENT_RECV_RECORD] = 7;
     zoom_progress[ZOOM_EVENT_RECV_SEARCH] = 6;
+    zoom_progress[ZOOM_EVENT_END] = 8;
 
     /* parameters */
     parameters.concurrent = 1;
@@ -186,7 +193,7 @@ long time_usec(struct time_type *ptime)
     return ptime->usec;
 }
 
-void print_option_error()
+void print_option_error(void)
 {
     fprintf(stderr, "zoom-benchmark:  Call error\n");
     fprintf(stderr, "zoom-benchmark -h host:port -q pqf-query "
@@ -195,7 +202,7 @@ void print_option_error()
             "[-b (piggypack)] "
             "[-g (gnuplot outfile)] "
             "[-p proxy] \n");
-    //"[-t timeout] \n");
+    /* "[-t timeout] \n"); */
     exit(1);
 }
 
@@ -219,9 +226,11 @@ void read_params(int argc, char **argv, struct parameters_t *p_parameters){
         case 'c':
             p_parameters->concurrent = atoi(arg);
             break;
-            //case 't':
-            //p_parameters->timeout = atoi(arg);
-            //        break;
+#if 0
+            case 't':
+            p_parameters->timeout = atoi(arg);
+            break;
+#endif
         case 'b':
             p_parameters->piggypack = 1;
                     break;
@@ -245,7 +254,9 @@ void read_params(int argc, char **argv, struct parameters_t *p_parameters){
         printf("   query:      %s \n", p_parameters->query);
         printf("   concurrent: %d \n", p_parameters->concurrent);
         printf("   repeat:     %d \n", p_parameters->repeat);
-        //printf("   timeout:    %d \n", p_parameters->timeout);
+#if 0
+        printf("   timeout:    %d \n", p_parameters->timeout);
+#endif
         printf("   proxy:      %s \n", p_parameters->proxy);
         printf("   piggypack:  %d \n\n", p_parameters->piggypack);
         printf("   gnuplot:    %d \n\n", p_parameters->gnuplot);
@@ -265,7 +276,7 @@ void read_params(int argc, char **argv, struct parameters_t *p_parameters){
         print_option_error();
 }
 
-void print_table_header()
+void print_table_header(void)
 {
     if (parameters.gnuplot)
         printf("#");
@@ -354,8 +365,12 @@ int main(int argc, char **argv)
             /* updating events and event list */
             error = ZOOM_connection_error(z[i-1] , &errmsg, &addinfo);
             if (error)
-                parameters.progress[i] = -progress;
+                parameters.progress[i] = zoom_progress[ZOOM_EVENT_UNKNOWN];
+            //parameters.progress[i] = zoom_progress[ZOOM_EVENT_NONE];
+            else if (event == ZOOM_EVENT_CONNECT)
+                parameters.progress[i] = zoom_progress[event];
             else
+                //parameters.progress[i] = zoom_progress[event];
                 parameters.progress[i] += 1;
             
             update_events(elc, els,
@@ -375,7 +390,7 @@ int main(int argc, char **argv)
 
 
 
-    } // for (k = 0; k < parameters.repeat; k++) repeat loop
+    } /* for (k = 0; k < parameters.repeat; k++) repeat loop */
 
     /* output */