aboutsummaryrefslogtreecommitdiff
path: root/utils/src/idgen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'utils/src/idgen.rs')
-rw-r--r--utils/src/idgen.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/utils/src/idgen.rs b/utils/src/idgen.rs
new file mode 100644
index 0000000..20f13ff
--- /dev/null
+++ b/utils/src/idgen.rs
@@ -0,0 +1,16 @@
+#[derive(Debug)]
+pub struct IdGen {
+ next: u64,
+}
+
+impl IdGen {
+ pub fn new(start: u64) -> Self {
+ IdGen { next: start }
+ }
+
+ pub fn gen(&mut self) -> u64 {
+ let res = self.next;
+ self.next += 1;
+ res
+ }
+}