From 367804edec30cd17dd647472bd7fbced8e2af24a Mon Sep 17 00:00:00 2001 From: Chen Chen Date: Thu, 8 Aug 2024 12:58:39 -0500 Subject: [PATCH] examples: update integration example --- examples/your-kv-store/src/main.rs | 16 ++++++++++------ examples/your-kv-store/your-kv-store.toml | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/examples/your-kv-store/src/main.rs b/examples/your-kv-store/src/main.rs index 40cc660..5d8e579 100644 --- a/examples/your-kv-store/src/main.rs +++ b/examples/your-kv-store/src/main.rs @@ -11,9 +11,9 @@ use std::collections::HashMap; use std::sync::{Arc, RwLock}; #[derive(Clone)] -pub struct SimpleKVMap(Arc, Box<[u8]>>>>); +pub struct YourKVMap(Arc, Box<[u8]>>>>); -impl SimpleKVMap { +impl YourKVMap { pub fn new() -> Self { Self(Arc::new( RwLock::new(HashMap::, Box<[u8]>>::new()), @@ -21,17 +21,17 @@ impl SimpleKVMap { } pub fn new_benchkvmap(_opt: &toml::Table) -> BenchKVMap { - BenchKVMap::Regular(Box::new(Self::new())) + BenchKVMap::Regular(Arc::new(Box::new(Self::new()))) } } -impl KVMap for SimpleKVMap { +impl KVMap for YourKVMap { fn handle(&self) -> Box { Box::new(self.clone()) } } -impl KVMapHandle for SimpleKVMap { +impl KVMapHandle for YourKVMap { fn set(&mut self, key: &[u8], value: &[u8]) { self.0.write().unwrap().insert(key.into(), value.into()); } @@ -46,10 +46,14 @@ impl KVMapHandle for SimpleKVMap { fn delete(&mut self, key: &[u8]) { self.0.write().unwrap().remove(key); } + + fn scan(&mut self, _key: &[u8], _n: usize) -> Vec<(Box<[u8]>, Box<[u8]>)> { + unimplemented!(); + } } inventory::submit! { - Registry::new("simplekvmap", SimpleKVMap::new_benchkvmap) + Registry::new("your_kv_store", YourKVMap::new_benchkvmap) } fn main() { diff --git a/examples/your-kv-store/your-kv-store.toml b/examples/your-kv-store/your-kv-store.toml index cd16cda..f3d6aba 100644 --- a/examples/your-kv-store/your-kv-store.toml +++ b/examples/your-kv-store/your-kv-store.toml @@ -1,2 +1,2 @@ [map] -name = "simplekvmap" +name = "your_kv_store"