use base qw/Class::Accessor/;
__PACKAGE__->mk_accessors( qw/
port
-store
-default_queue
+session
background
debug
/ );
use CWMP::Session;
+use CWMP::Queue;
use Carp qw/confess/;
use Data::Dump qw/dump/;
my $server = CWMP::Server->new({
port => 3333,
- store => 'state.db',
- default_queue => [ qw/GetRPCMethods GetParameterNames/ ],
+ session => { ... },
background => 1,
debug => 1
});
port to listen on
-=item store
+=item session
hash with key C<module> with value C<DBMDeep> if L<CWMP::Store::DBMDeep>
is used. Other parametars are optional.
-=item default_queue
-
-commands which will be issued to every CPE on connect
-
=back
=cut
CWMP::Server::Helper->new({
proto => 'tcp',
port => $self->port,
- default_queue => $self->default_queue,
- store => $self->store,
+ session => $self->session,
debug => $self->debug,
background => $self->background,
})
$self->SUPER::options($template);
# new single-value options
- foreach my $p ( qw/ store debug / ) {
+ foreach my $p ( qw/ session debug / ) {
$prop->{ $p } ||= undef;
$template->{ $p } = \$prop->{ $p };
}
# new multi-value options
- foreach my $p ( qw/ default_queue / ) {
- $prop->{ $p } ||= [];
- $template->{ $p } = $prop->{ $p };
- }
+# foreach my $p ( qw/ default_queue / ) {
+# $prop->{ $p } ||= [];
+# $template->{ $p } = $prop->{ $p };
+# }
}
my $sock = $prop->{client};
confess "no sock in ", ref( $self ) unless $sock;
- warn "default CPE queue ( " . join(",",@{$prop->{default_queue}}) . " )\n" if defined($prop->{default_queue});
+ my $sess = $prop->{session} || confess "no session";
eval {
- my $session = CWMP::Session->new({
- sock => $sock,
- queue => $prop->{default_queue},
- store => $prop->{store},
- debug => $prop->{debug},
- }) || confess "can't create session";
+ $sess->{sock} = $sock;
+ $sess->{debug} = $prop->{debug};
+
+ my $session = CWMP::Session->new( $sess ) || confess "can't create session from ",dump( $sess );
while ( $session->process_request ) {
- warn "...another one bites the dust...\n";
+ warn "...waiting for next request from CPE...\n" if $prop->{debug};
}
};
- if ($@) {
- warn $@;
- }
+ warn "ERROR: $@\n" if $@;
- warn "...returning to accepting new connections\n";
+ warn "...returning to accepting new connections\n" if $prop->{debug};
}