-# $Id: Pod.pm,v 1.9 2006-05-12 13:28:40 mike Exp $
+# $Id: Pod.pm,v 1.12 2006-06-07 10:43:22 mike Exp $
package ZOOM::Pod;
$pod = new ZOOM::Pod("bagel.indexdata.com/gils",
"bagel.indexdata.com/marc");
-
Creates a new pod containing one or more connections. Each connection
may be specified either by an existing C<ZOOM::Connection> object,
which I<must> be asynchronous; or by a ZOOM target string, in which
=cut
+# Functionality to be added:
+#
+# If the constructor's first argument is a number, then it is
+# taken as a limit on the number of connections to handle at any
+# one time. In this case, the pod initially multiplexes between
+# the first I<n> connections, and brings further connections
+# into the active subset whenever already-active connections are
+# closed.
+
sub new {
my $class = shift();
my(@conn) = @_;
my $conn = $this->{conn}->[$i-1];
my $ev = $conn->last_event();
my $evstr = ZOOM::event_str($ev);
- ZOOM::Log::log("pod", "connection ", $i-1, ": $evstr");
+ ZOOM::Log::log("pod", "connection ", $i-1, ": event $ev ($evstr)");
eval {
$conn->_check();
$this->{rs}->[$i-1], $ev);
last if $res != 0;
} else {
- ZOOM::Log::log("pod_unhandled", "unhandled event $ev ($evstr)");
+ ZOOM::Log::log("pod_unhandled", "connection ", $i-1, ": unhandled event $ev ($evstr)");
}
}