10 return bless($self, $class);
13 # This is shamelessly stolen from pythons urlgrabber
17 my @symbols = ('', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y');
18 my $step = $SI?1000:1024;
21 my $max_depth = $#symbols;
24 while (($number > $thresh) and ($depth < $max_depth)) {
29 if ($number =~ /^[+-]?\d+$/) {
32 } elsif ($number < 9.95) {
37 return sprintf($format, $number, $symbols[$depth]);
48 $res = $talker->send_request('load_start', $URL);
50 $self->{'__ERROR'} = $res;
54 if ($res->is_fault()) {
55 $self->{'__ERROR'} = $res->value()->{'faultString'};
67 $res = $talker->send_request('d.multicall', '',
75 $self->{'__ERROR'} = $res;
79 if ($res->is_fault()) {
80 $self->{'__ERROR'} = $res->value()->{'faultString'};
85 foreach (@{$res->value()}) {
88 'NAME' => $_->[0]->value(),
89 'SIZE_BYTES' => _format_number($_->[1]->value()),
90 'BYTES_DONE' => _format_number($_->[2]->value()),
91 'UP_RATE' => _format_number($_->[3]->value()),
92 'DOWN_RATE' => _format_number($_->[4]->value()),
93 'ACTIVE' => $_->[5]->value(),
103 return $self->{'__ERROR'};