BitTorrent-Simple
view release on metacpan or search on metacpan
script/torrent view on Meta::CPAN
print " Contacting: $announce\n";
my $ua = LWP::UserAgent->new(timeout => 15);
my $resp = $ua->get($url);
unless ($resp->is_success) {
warn " Tracker request failed: " . $resp->status_line . "\n";
return undef;
}
my $decoded = eval { bdecode($resp->content) };
if ($@) {
warn " Failed to decode tracker response: $@\n";
return undef;
}
if ($decoded->{'failure reason'}) {
warn " Tracker failure: " . $decoded->{'failure reason'} . "\n";
return undef;
}
return $decoded;
}
# âââ Socket I/O âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
sub read_exactly {
my ($socket, $length) = @_;
my $sel = IO::Select->new($socket);
my $data = '';
my $remaining = $length;
( run in 0.724 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )