16 |
|
|
17 |
use CWMP::Session; |
use CWMP::Session; |
18 |
use CWMP::Queue; |
use CWMP::Queue; |
19 |
|
use CWMP::MemLeak; |
20 |
|
|
21 |
use Carp qw/confess/; |
use Carp qw/confess/; |
22 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
125 |
sub process_request { |
sub process_request { |
126 |
my $self = shift; |
my $self = shift; |
127 |
|
|
128 |
|
my $leak = CWMP::MemLeak->new; |
129 |
|
|
130 |
my $prop = $self->{server}; |
my $prop = $self->{server}; |
131 |
confess "no server in ", ref( $self ) unless $prop; |
confess "no server in ", ref( $self ) unless $prop; |
132 |
my $sock = $prop->{client}; |
my $sock = $prop->{client}; |
138 |
$sess->{sock} = $sock; |
$sess->{sock} = $sock; |
139 |
$sess->{debug} = $prop->{debug}; |
$sess->{debug} = $prop->{debug}; |
140 |
|
|
|
warn "## sess = ", dump( $sess ); |
|
|
|
|
141 |
my $session = CWMP::Session->new( $sess ) || confess "can't create session from ",dump( $sess ); |
my $session = CWMP::Session->new( $sess ) || confess "can't create session from ",dump( $sess ); |
142 |
|
|
143 |
while ( $session->process_request ) { |
while ( $session->process_request ) { |
144 |
warn "...waiting for next request from CPE...\n"; |
warn "...waiting for next request from CPE...\n" if $prop->{debug}; |
145 |
} |
} |
146 |
}; |
}; |
147 |
|
|
148 |
warn "ERROR: $@\n" if $@; |
warn "ERROR: $@\n" if $@; |
149 |
|
|
150 |
warn "...returning to accepting new connections\n"; |
warn "...returning to accepting new connections\n" if $prop->{debug}; |
151 |
|
|
152 |
|
$leak->report; |
153 |
|
|
154 |
} |
} |
155 |
|
|