From b7901579d586b6c68119ef65bc184a7369492791 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 31 Aug 2024 10:29:06 +0300 Subject: Change IdCounter to be backed by an AtomicU64 Let's see if anyone complains. --- src/utils/id.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/utils') diff --git a/src/utils/id.rs b/src/utils/id.rs index 94d7f8ee..c21511e6 100644 --- a/src/utils/id.rs +++ b/src/utils/id.rs @@ -1,11 +1,8 @@ -use std::sync::atomic::{AtomicU32, Ordering}; +use std::sync::atomic::{AtomicU64, Ordering}; /// Counter that returns unique IDs. -/// -/// Under the hood it uses a `u32` that will eventually wrap around. When incrementing it once a -/// second, it will wrap around after about 136 years. pub struct IdCounter { - value: AtomicU32, + value: AtomicU64, } impl IdCounter { @@ -13,11 +10,11 @@ impl IdCounter { Self { // Start from 1 to reduce the possibility that some other code that uses these IDs will // get confused. - value: AtomicU32::new(1), + value: AtomicU64::new(1), } } - pub fn next(&self) -> u32 { + pub fn next(&self) -> u64 { self.value.fetch_add(1, Ordering::Relaxed) } } -- cgit