diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-06-25 16:05:39 +0200 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-06-25 16:05:47 +0200 |
| commit | 1d70962892a6e3e1cacd3663b390bbdf81426984 (patch) | |
| tree | 168f9049a02e8ecf704fa49f214810b95575240a /src/managers/TokenManager.cpp | |
| parent | 918d8340afd652b011b937d29d5eea0be08467f5 (diff) | |
core: move to steady_clock where applicable
avoid issues when system clock gets desynchronized or changed
Diffstat (limited to 'src/managers/TokenManager.cpp')
| -rw-r--r-- | src/managers/TokenManager.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/managers/TokenManager.cpp b/src/managers/TokenManager.cpp index 451baac1..cee97c1c 100644 --- a/src/managers/TokenManager.cpp +++ b/src/managers/TokenManager.cpp @@ -2,8 +2,8 @@ #include <uuid/uuid.h> #include <algorithm> -CUUIDToken::CUUIDToken(const std::string& uuid_, std::any data_, std::chrono::system_clock::duration expires) : data(data_), uuid(uuid_) { - expiresAt = std::chrono::system_clock::now() + expires; +CUUIDToken::CUUIDToken(const std::string& uuid_, std::any data_, std::chrono::steady_clock::duration expires) : data(data_), uuid(uuid_) { + expiresAt = std::chrono::steady_clock::now() + expires; } std::string CUUIDToken::getUUID() { @@ -23,7 +23,7 @@ std::string CTokenManager::getRandomUUID() { return uuid; } -std::string CTokenManager::registerNewToken(std::any data, std::chrono::system_clock::duration expires) { +std::string CTokenManager::registerNewToken(std::any data, std::chrono::steady_clock::duration expires) { std::string uuid = getRandomUUID(); m_mTokens[uuid] = makeShared<CUUIDToken>(uuid, data, expires); @@ -33,7 +33,7 @@ std::string CTokenManager::registerNewToken(std::any data, std::chrono::system_c SP<CUUIDToken> CTokenManager::getToken(const std::string& uuid) { // cleanup expired tokens - const auto NOW = std::chrono::system_clock::now(); + const auto NOW = std::chrono::steady_clock::now(); std::erase_if(m_mTokens, [this, &NOW](const auto& el) { return el.second->expiresAt < NOW; }); if (!m_mTokens.contains(uuid)) |
