From: Dobrica Pavlinusic Date: Fri, 26 Oct 2007 19:26:47 +0000 (+0000) Subject: kick session out of store X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=d20ce558a16c20bcb80368cab2e02ccb257a1927;hp=--cc;p=perl-cwmp.git kick session out of store git-svn-id: https://perl-cwmp.googlecode.com/svn/branches/store-pluggable@132 836a5e1a-633d-0410-964b-294494ad4392 --- d20ce558a16c20bcb80368cab2e02ccb257a1927 diff --git a/lib/CWMP/Store.pm b/lib/CWMP/Store.pm index 8425ec2..a307b31 100644 --- a/lib/CWMP/Store.pm +++ b/lib/CWMP/Store.pm @@ -48,7 +48,7 @@ sub new { ) ); - foreach my $init ( qw/ state session / ) { + foreach my $init ( qw/ state / ) { $self->db->put( $init => {} ) unless $self->db->get( $init ); } @@ -155,6 +155,8 @@ for each CPE. =cut +my $session; + sub ID_to_uid { my $self = shift; my ( $ID, $state ) = @_; @@ -163,15 +165,15 @@ sub ID_to_uid { warn "ID_to_uid",dump( $ID, $state ),$/ if $self->debug; - $self->db->{session}->{ $ID }->{last_seen} = time(); + $session->{ $ID }->{last_seen} = time(); my $uid; - if ( $uid = $self->db->{session}->{ $ID }->{ ID_to_uid } ) { + if ( $uid = $session->{ $ID }->{ ID_to_uid } ) { return $uid; } elsif ( $uid = $state->{DeviceID}->{SerialNumber} ) { warn "## created new session for $uid session $ID\n" if $self->debug; - $self->db->{session}->{ $ID } = { + $session->{ $ID } = { last_seen => time(), ID_to_uid => $uid, }; @@ -183,6 +185,8 @@ sub ID_to_uid { # TODO: expire sessions longer than 30m + warn "current session = ",dump( $session ); + return; }