| 100 | } |
| 101 | |
| 102 | void HttpSessionStore::sessionTimerEvent() |
| 103 | { |
| 104 | mutex.lock(); |
| 105 | qint64 now=QDateTime::currentMSecsSinceEpoch(); |
| 106 | QMap<QByteArray,HttpSession>::iterator i = sessions.begin(); |
| 107 | while (i != sessions.end()) |
| 108 | { |
| 109 | QMap<QByteArray,HttpSession>::iterator prev = i; |
| 110 | ++i; |
| 111 | HttpSession session=prev.value(); |
| 112 | qint64 lastAccess=session.getLastAccess(); |
| 113 | if (now-lastAccess>expirationTime) |
| 114 | { |
| 115 | Logger::logger()->log(Logger::LANServer, "HttpSessionStore: session %s expired",session.getId().data()); |
| 116 | emit sessionDeleted(session.getId()); |
| 117 | sessions.erase(prev); |
| 118 | } |
| 119 | } |
| 120 | mutex.unlock(); |
| 121 | } |
| 122 | |
| 123 | |
| 124 | /** Delete a session */ |