FOSSredder 0.5.0
Loading...
Searching...
No Matches
TransientId.cpp
Go to the documentation of this file.
1
5
6#include "TransientId.h"
7
8#include <atomic>
9#include <chrono>
10#include <cstdint>
11
12namespace core::utils {
13
14std::string makeTransientId()
15{
16 static std::atomic<std::uint32_t> counter{0};
17 const auto now = std::chrono::system_clock::now();
18 const auto us = std::chrono::duration_cast<std::chrono::microseconds>(now.time_since_epoch()).count();
19 const std::uint32_t c = counter.fetch_add(1, std::memory_order_relaxed);
20 return std::to_string(us) + "_" + std::to_string(c);
21}
22
23}
Declares private unique identifier helpers for transient import/job artifacts.
std::string makeTransientId()
Generates a transient unique identifier for import and job artifacts.