Use ZOOM_EVENT_MAX for size of ZOOM event array
[yaz-moved-to-github.git] / zoom / zoom-benchmark.c
index 6de24ab..a91aef9 100644 (file)
@@ -1,7 +1,6 @@
-/*
- * $Id: zoom-benchmark.c,v 1.16 2007-01-03 08:42:17 adam Exp $
- *
- * Asynchronous multi-target client doing search and piggyback retrieval
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 Index Data
+ * See the file LICENSE for details.
  */
 
 #include <stdio.h>
 
 
 /* naming events */
-static char* zoom_events[10];
+static char* zoom_events[ZOOM_EVENT_MAX+1];
 
 /* re-sorting event numbers to progress numbers */
-static int zoom_progress[10];
+static int zoom_progress[ZOOM_EVENT_MAX+1];
 
 /* commando line parameters */
 static struct parameters_t { 
@@ -300,11 +299,11 @@ int main(int argc, char **argv)
 
     read_params(argc, argv, &parameters);
 
-    z = xmalloc(sizeof(*z) * parameters.concurrent);
-    r = xmalloc(sizeof(*r) * parameters.concurrent);
-    elc = xmalloc(sizeof(*elc) * parameters.concurrent * parameters.repeat);
-    els = xmalloc(sizeof(*els) 
-                  * parameters.concurrent * parameters.repeat * 10);
+    z = (ZOOM_connection *) xmalloc(sizeof(*z) * parameters.concurrent);
+    r = (ZOOM_resultset *) xmalloc(sizeof(*r) * parameters.concurrent);
+    elc = (int *) xmalloc(sizeof(*elc) * parameters.concurrent * parameters.repeat);
+    els = (struct event_line_t *) xmalloc(
+        sizeof(*els) * parameters.concurrent * parameters.repeat * 10);
     o = ZOOM_options_create();
 
     /* async mode */
@@ -355,7 +354,7 @@ int main(int argc, char **argv)
             const char *errmsg;
             const char *addinfo;
             int error = 0;
-            int progress = zoom_progress[event];
+            //int progress = zoom_progress[event];
             
             if (event == ZOOM_EVENT_SEND_DATA || event == ZOOM_EVENT_RECV_DATA)
                 continue;
@@ -365,8 +364,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,