use base qw/Class::Accessor/;
__PACKAGE__->mk_accessors( qw/
port
- store_path
+ store
default_queue
background
debug
my $server = CWMP::Server->new({
port => 3333,
- store_path => 'state.db',
+ store => 'state.db',
default_queue => [ qw/GetRPCMethods GetParameterNames/ ],
background => 1,
debug => 1
port to listen on
- =item store_path
+ =item store
- path to L<DBM::Deep> database file to preserve state
+ hash with key C<module> with value C<DBMDeep> if L<CWMP::Store::DBMDeep>
+ is used. Other parametars are optional.
=item default_queue
proto => 'tcp',
port => $self->port,
default_queue => $self->default_queue,
- store_path => $self->store_path,
+ store => $self->store,
debug => $self->debug,
background => $self->background,
})
$self->SUPER::options($template);
# new single-value options
- foreach my $p ( qw/ store_path debug / ) {
+ foreach my $p ( qw/ store debug / ) {
$prop->{ $p } ||= undef;
$template->{ $p } = \$prop->{ $p };
}
warn "default CPE queue ( " . join(",",@{$prop->{default_queue}}) . " )\n" if defined($prop->{default_queue});
- my $session = CWMP::Session->new({
- sock => $sock,
- queue => $prop->{default_queue},
- store => $prop->{store},
- debug => $prop->{debug},
- }) || confess "can't create session";
-
- while ( $session->process_request ) {
- warn "...another one bites the dust...\n";
+ eval {
+ my $session = CWMP::Session->new({
+ sock => $sock,
+ queue => $prop->{default_queue},
- store_path => $prop->{store_path},
++ store => $prop->{store},
+ debug => $prop->{debug},
+ }) || confess "can't create session";
+
+ while ( $session->process_request ) {
+ warn "...another one bites the dust...\n";
+ }
+ };
+
+ if ($@) {
+ warn $@;
}
warn "...returning to accepting new connections\n";