package Net::Paraget::ClientManager;
#
# $Id: ClientManager.pm,v 1.2 2001/05/10 03:46:08 lrclause Exp $
#
use strict;
use Net::Paraget::Client;
use Class::MethodMaker
get_set => [ qw( tmp_dir child_program authoritative_size) ],
list => [ qw( clients ) ],
new_with_init => 'new',
new_hash_init => 'hash_init';
sub init
{
my ( $self, %args ) = @_;
my $tmp_dir = defined $ENV{TMPDIR} ? $ENV{TMPDIR} : '/tmp';
$self->hash_init( tmp_dir => $tmp_dir,
child_program => 'paraget-child',
);
$self->hash_init( %args );
}
sub assign_clients
{
my ( $self, @assignments ) = @_;
foreach my $a ( @assignments )
{
my $client = Net::Paraget::Client->new( assignment => $a,
manager => $self,
);
$a->client( $client );
$self->push_clients( $client );
$client->start();
}
}
1;
syntax highlighted by Code2HTML, v. 0.9.1