#!/usr/bin/perl -w
#$Id: dchub 919 2011-10-21 21:57:00Z pro $ $URL: svn://svn.setun.net/dcppp/trunk/examples/dchub $
=r
dev hub test
=cut
use strict;
use Data::Dumper; #dev only
$Data::Dumper::Sortkeys = $Data::Dumper::Useqq = $Data::Dumper::Indent = 1;
use lib::abs '../lib';
#use lib::abs '../lib';
#use lib::abs '../TigerHash/lib';
#use lib './stat/pslib';
#use psmisc qw(:log);
our %config;
psmisc->import(qw(:log));
psmisc::configure();
#my $dc = Net::DirectConnect::hub->new( no_print => undef, );
my $dc = Net::DirectConnect->new(
'protocol' => 'adc',
hub => 1,
no_print => undef,
myport => 413,
'log' => sub {
my $dc = ref $_[0] ? shift : {};
#psmisc::printlog shift(), $dc->{'number'}, join ' ', psmisc::human('time'), @_, "\n";
psmisc::printlog shift(), "[$dc->{'number'}]", @_,;
},
'auto_work' => sub {
my $dc = shift;
#warn('hubwork');
#Time::HiRes::sleep 0.1;
},
%{ $config{dc} || {} },
%{ $config{dchub} || {} },
);
#$dc->work(100); #seconds
=without auto_work
while ( $dc->active() ) {
$dc->work(); #forever
psmisc::schedule(
[ 20, 10 ],
our $dump_sub__ ||= sub {
print "Writing dump\n";
psmisc::file_rewrite( 'dump.hub', Dumper $dc);
}
);
}
#$dc->wait_finish();
$dc->disconnect();
=cut
#$dc = undef;