2 * $Id: zoomtst7.c,v 1.6 2001-11-15 08:58:29 adam Exp $
11 #include <yaz/xmalloc.h>
16 int main(int argc, char **argv)
20 Z3950_resultset r[10]; /* and result sets .. */
23 o = Z3950_options_create ();
25 z = Z3950_connection_new ("localhost", 9999);
26 if (Z3950_connection_error (z, 0, 0))
28 printf ("error - couldn't connect?\n");
32 Z3950_connection_destroy (z);
34 for (block = 0; block < 3; block++)
39 printf ("blocking - not calling Z3950_events\n");
42 printf ("blocking - calling Z3950_events\n");
45 printf ("non-blocking - calling Z3950_events\n");
49 Z3950_options_set (o, "async", "1");
50 for (i = 0; i<10; i++)
53 printf ("session %2d", i);
54 sprintf (host, "localhost:9999/%d", i);
55 z = Z3950_connection_create (o);
56 Z3950_connection_connect (z, host, 0);
58 for (j = 0; j < 10; j++)
62 Z3950_query s = Z3950_query_create ();
64 sprintf (query, "i%dr%d", i, j);
66 if (Z3950_query_prefix (s, query))
68 printf ("bad PQF: %s\n", query);
71 Z3950_options_set (o, "start", "0");
72 Z3950_options_set (o, "count", "0");
74 r[j] = Z3950_connection_search (z, s); /* non-piggy */
76 Z3950_resultset_records (r[j], recs, 0, 2); /* first two */
78 Z3950_resultset_records (r[j], recs, 1, 2); /* third */
80 Z3950_resultset_records (r[j], recs, 0, 0); /* ignored */
82 if (Z3950_resultset_size (r[j]) > 2)
86 fprintf (stderr, "\nrecord missing\n");
91 Z3950_query_destroy (s);
95 while (Z3950_event (1, &z))
99 Z3950_resultset_destroy (r[j]);
100 Z3950_connection_destroy (z);
102 Z3950_resultset_destroy (r[j]);
103 printf ("10 searches, 20 presents done\n");
106 for (i = 0; i<1; i++)
108 Z3950_query q = Z3950_query_create ();
111 printf ("session %2d", i+10);
112 sprintf (host, "localhost:9999/%d", i);
113 z = Z3950_connection_create (o);
114 Z3950_connection_connect (z, host, 0);
116 for (j = 0; j < 10; j++)
120 sprintf (query, "i%dr%d", i, j);
122 Z3950_options_set (o, "count", "0");
124 r[j] = Z3950_connection_search_pqf (z, query);
128 while (Z3950_event (1, &z))
131 Z3950_connection_destroy (z);
133 for (j = 0; j < 10; j++)
135 Z3950_resultset_records (r[j], 0, 0, 1);
137 while (Z3950_event (1, &z))
140 for (j = 0; j < 10; j++)
141 Z3950_resultset_destroy (r[j]);
142 Z3950_query_destroy (q);
143 printf ("10 searches, 10 ignored presents done\n");
146 Z3950_options_destroy (o);