feat(uuid): add optional caller provided timestamp for v7

This commit is contained in:
2026-02-05 21:15:50 +01:00
parent 5dcd98de61
commit 8e1f207b6a
2 changed files with 4 additions and 3 deletions

View File

@@ -5,6 +5,7 @@
#include <cstdint> #include <cstdint>
#include <random> #include <random>
#include <string> #include <string>
#include "cpputils/datetime.h"
namespace cpputils { namespace cpputils {
namespace uuid { namespace uuid {
@@ -46,7 +47,8 @@ class V7 {
return timestamp; return timestamp;
} }
std::array<uint8_t, 16> generate(); std::array<uint8_t, 16> generate(
int64_t timestamp = cpputils::datetime::now());
}; };
} // namespace uuid } // namespace uuid

View File

@@ -88,9 +88,8 @@ uint8_t V7::next_sequence(int64_t current_timestamp) {
} }
} }
std::array<uint8_t, 16> V7::generate() { std::array<uint8_t, 16> V7::generate(int64_t timestamp) {
std::array<uint8_t, 16> uuid{}; std::array<uint8_t, 16> uuid{};
int64_t timestamp = cpputils::datetime::now();
uint8_t seq = next_sequence(timestamp); uint8_t seq = next_sequence(timestamp);
uint64_t rand_a = random64(); uint64_t rand_a = random64();
uint64_t rand_b = random64(); uint64_t rand_b = random64();