AnyEvent-Handle-Throttle
view release on metacpan or search on metacpan
lib/AnyEvent/Handle/Throttle.pm view on Meta::CPAN
535455565758596061626364656667686970717273
my
$reset
=
sub
{
$self
->{read_size} =
$self
->{download_limit};
$self
->{write_size} =
$self
->{upload_limit} || 8 * 1024;
$self
->{upload_speed} =
$self
->{_upload_speed};
$self
->{download_speed} =
$self
->{_download_speed};
$self
->{_upload_speed} =
$self
->{_download_speed} = 0;
};
$self
->{_period} ||= 1;
$self
->{_reset} = AE::timer(0,
$self
->{_period},
$reset
);
$reset
->();
$self
->SUPER::_start(
@_
);
}
sub
start_read {
my
(
$self
) =
@_
;
unless
(
$self
->{_rw} ||
$self
->{_eof} || !
$self
->{fh}) {
Scalar::Util::weaken
$self
;
$self
->{_rw} = AE::io
$self
->{fh}, 0,
sub
{
my
(
$read
) =
sort
grep
{
defined
}
$global_read_size
,
$self
->{read_size};
my
(
$period
) =
sort
grep
{
defined
}
$global_period
,
( run in 0.355 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )