changed: updated to the new ezc api, this with O(1) when looking for a specific ezc function

changed: sessions are deleted at the end of a request (and only a few sessions)
         other sessions will be deleted after a next request


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@684 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-11-25 22:42:24 +00:00
parent 933c8841ff
commit 08e53919e2
25 changed files with 753 additions and 634 deletions

View File

@@ -227,16 +227,21 @@ SessionContainer::Iterator SessionManager::SessionEnd()
void SessionManager::DeleteOldSessions()
{
session_tab.DelFirstByTimeInterval(config->session_max_idle);
size_t deleted;
deleted = session_tab.DelFirstByTimeInterval(config->session_max_idle, 100); // !! dodac do konfiga
if( ++session_checker > 1000 )
{
// we make the test after 1000 requests
log << log3 << "SM: checking sessions which have 'remember me' flag set" << logend;
//log << log3 << "SM: checking sessions which have 'remember me' flag set" << logend;
session_checker = 0;
session_tab.DelFirstByTimeInterval(config->session_remember_max_idle, false);
deleted += session_tab.DelFirstByTimeInterval(config->session_remember_max_idle, 100, false);
}
if( deleted > 0 )
log << log3 << "SM: deleted " << deleted << " outdated sessions" << logend;
}