ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/myhttpd/tbf.pl
(Generate patch)

Comparing Coro/myhttpd/tbf.pl (file contents):
Revision 1.5 by root, Thu Nov 21 09:52:34 2002 UTC vs.
Revision 1.6 by root, Sat Dec 8 21:01:17 2007 UTC

12 $self->{maxbucket} ||= $self->{rate} * 3; # max 3s bucket 12 $self->{maxbucket} ||= $self->{rate} * 3; # max 3s bucket
13 $self->{minbucket} ||= $self->{rate}; # minimum bucket to share 13 $self->{minbucket} ||= $self->{rate}; # minimum bucket to share
14 $self->{interval} ||= $::BUFSIZE / $max_per_client; # good default interval 14 $self->{interval} ||= $::BUFSIZE / $max_per_client; # good default interval
15 15
16 if ($self->{rate}) { 16 if ($self->{rate}) {
17 $self->{w} = Event->timer(hard => 1, after => 0, interval => $self->{interval}, repeat => 1, cb => sub { 17 $self->{w} = EV::periodic 0, $self->{interval}, undef, sub {
18 $self->inject($self->{rate} * $self->{interval}); 18 $self->inject ($self->{rate} * $self->{interval});
19 }); 19 };
20 } else { 20 } else {
21 die "chaining not yet implemented\n"; 21 die "chaining not yet implemented\n";
22 } 22 }
23 23
24 $self; 24 $self;
25}
26
27sub DESTROY {
28 my $self = shift;
29
30 $self->{w}->cancel;
31} 25}
32 26
33sub inject { 27sub inject {
34 my ($self, $bytes) = @_; 28 my ($self, $bytes) = @_;
35 29

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines