diff --git a/safekeeper/src/lib.rs b/safekeeper/src/lib.rs index 6ab108ceb0..c8e68633d1 100644 --- a/safekeeper/src/lib.rs +++ b/safekeeper/src/lib.rs @@ -13,6 +13,7 @@ pub mod control_file_upgrade; pub mod debug_dump; pub mod handler; pub mod http; +pub mod sim; pub mod json_ctrl; pub mod metrics; pub mod receive_wal; diff --git a/safekeeper/src/sim/disk.rs b/safekeeper/src/sim/disk.rs new file mode 100644 index 0000000000..8662ce4c10 --- /dev/null +++ b/safekeeper/src/sim/disk.rs @@ -0,0 +1,7 @@ + + +pub trait Storage { + fn flush_pos(&self) -> u32; + fn flush(&mut self) -> Result<()>; + fn write(&mut self, ) +} \ No newline at end of file diff --git a/safekeeper/src/sim/disklog.rs b/safekeeper/src/sim/disklog.rs new file mode 100644 index 0000000000..159f55d54d --- /dev/null +++ b/safekeeper/src/sim/disklog.rs @@ -0,0 +1,21 @@ +use std::collections::HashMap; + +pub struct DiskLog { + pub +} + +impl KV { + pub fn new() -> Self { + Self { + map: HashMap::new(), + } + } + + pub fn get(&self, key: &str) -> u32 { + self.map.get(key).copied().unwrap_or(0) + } + + pub fn set(&mut self, key: &str, value: u32) { + self.map.insert(key.to_string(), value); + } +} \ No newline at end of file diff --git a/safekeeper/src/sim/mod.rs b/safekeeper/src/sim/mod.rs new file mode 100644 index 0000000000..cc4bc060e4 --- /dev/null +++ b/safekeeper/src/sim/mod.rs @@ -0,0 +1,3 @@ +pub mod disklog; +pub mod proto; +pub mod disk; diff --git a/safekeeper/src/sim/proto.rs b/safekeeper/src/sim/proto.rs new file mode 100644 index 0000000000..e69de29bb2