dump queue structure correctly if it exists
[perl-cwmp.git] / lib / CWMP / Server.pm
index 51a520a..412d103 100644 (file)
@@ -7,7 +7,7 @@ use warnings;
 use base qw/Class::Accessor/;
 __PACKAGE__->mk_accessors( qw/
 port
-store_path
+store
 default_queue
 background
 debug
@@ -30,7 +30,10 @@ CWMP::Server - description
 
   my $server = CWMP::Server->new({
        port => 3333,
-       store_path => 'state.db',
+       store => {
+               module => 'DBMDeep',
+               path => 'var/',
+       },
        default_queue => [ qw/GetRPCMethods GetParameterNames/ ],                                                           
        background => 1,
        debug => 1
@@ -44,9 +47,10 @@ Options:
 
 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
 
@@ -72,7 +76,7 @@ sub new {
                        proto => 'tcp',
                        port => $self->port,
                        default_queue => $self->default_queue,
-                       store_path => $self->store_path,
+                       store => $self->store,
                        debug => $self->debug,
                        background => $self->background,
                })
@@ -109,7 +113,7 @@ sub options {
        $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 };
        }
@@ -134,13 +138,13 @@ sub process_request {
        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});
+       warn "default CPE queue ", dump( $prop->{default_queue} ), "\n" if defined($prop->{default_queue});
 
        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";