From 1d70962892a6e3e1cacd3663b390bbdf81426984 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 25 Jun 2024 16:05:39 +0200 Subject: core: move to steady_clock where applicable avoid issues when system clock gets desynchronized or changed --- src/managers/TokenManager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/managers/TokenManager.cpp') 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 #include -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(uuid, data, expires); @@ -33,7 +33,7 @@ std::string CTokenManager::registerNewToken(std::any data, std::chrono::system_c SP 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)) -- cgit v1.2.3