use std::sync::atomic::AtomicU64;
pub struct BufferManager {
next_node_id: AtomicU64,
}
impl BufferManager {
pub const NULL_NODE_ID: u64 = 0;
pub fn init() -> BufferManager {
BufferManager {
next_node_id: AtomicU64::new(0),
}
}
pub fn allocate_new_node_id(&mut self) -> u64 {
self.next_node_id
.fetch_add(1, std::sync::atomic::Ordering::Relaxed)
}
}