-# $Id: ZOOM.pod,v 1.32 2006-04-11 16:38:38 mike Exp $
+# $Id: ZOOM.pod,v 1.34 2006-04-12 08:49:20 mike Exp $
use strict;
use warnings;
Create several connections to the various servers, each of them having
the option C<async> set, and with whatever additional options are
-required - e.g. setting the piggyback retrieval record-count so that
-records will be returned in search responses.
+required - e.g. the piggyback retrieval record-count can be set so
+that records will be returned in search responses.
=item Operations
-Send searches to the connections, request record retrieval, etc.
+Send searches to the connections, request records, etc.
=item Event harvesting
indicates which of the connections has fired; this connection can then
be interrogated with the C<last_event()> method to discover what event
has occurred, and the return value - an element of the C<ZOOM::Event>
-enumeration can be used to determine what to do next. For example,
-the C<ZEND> operation indicates that no further operations are
+enumeration - can be tested to determine what to do next. For
+example, the C<ZEND> event indicates that no further operations are
outstanding on the connection, so any fetched records can now be
immediately obtained.
=back
Here is a very short program (omitting all error-checking!) which
-demonstrates this process. It parallel-searches two servers (or more
+demonstrates this process. It parallel-searches three servers (or more
of you add them the list), displaying the first record in the
result-set of each server as soon as it becomes available.
use ZOOM;
@servers = ('z3950.loc.gov:7090/Voyager',
- 'bagel.indexdata.com:210/gils');
+ 'bagel.indexdata.com:210/gils',
+ 'agricola.nal.usda.gov:7190/Voyager');
for ($i = 0; $i < @servers; $i++) {
$z[$i] = new ZOOM::Connection($servers[$i], 0,
async => 1, # asynchronous mode