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 <random>
#include <string>
#include "cpputils/datetime.h"
namespace cpputils {
namespace uuid {
@@ -46,7 +47,8 @@ class V7 {
return timestamp;
}
std::array<uint8_t, 16> generate();
std::array<uint8_t, 16> generate(
int64_t timestamp = cpputils::datetime::now());
};
} // 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{};
int64_t timestamp = cpputils::datetime::now();
uint8_t seq = next_sequence(timestamp);
uint64_t rand_a = random64();
uint64_t rand_b = random64();