$self->{-by_addr} ||= {};
$self->{-by_name} ||= {};
$self->{-by_newsgroup} ||= {};
+ $self->{-limiters} ||= {};
$self;
}
undef;
}
+sub limiter {
+ my ($self, $name) = @_;
+ $self->{-limiters}->{$name} ||= do {
+ require PublicInbox::Qspawn;
+ my $key = "limiter.$name.max";
+ PublicInbox::Qspawn::Limiter->new($self->{$key});
+ };
+}
+
sub get {
my ($self, $inbox, $key) = @_;
my $rv = {};
foreach my $k (qw(mainrepo address filter url newsgroup
- watch watchheader)) {
+ watch watchheader httpbackendmax)) {
my $v = $self->{"$pfx.$k"};
$rv->{$k} = $v if defined $v;
}
my $name = $pfx;
$name =~ s/\Apublicinbox\.//;
$rv->{name} = $name;
+ $rv->{-pi_config} = $self;
$rv = PublicInbox::Inbox->new($rv);
my $v = $rv->{address};
if (ref($v) eq 'ARRAY') {