mod serde_blocktree; use std::collections::{hash_map, HashMap}; #[allow(dead_code)] enum VersionedBlock { V0(Block) } #[allow(dead_code)] struct Block { path: String, read_caps: HashMap, write_cap: WriteCap, body: Vec, signature: Signature } #[allow(dead_code)] struct ReadCap { issued_to: Hash, key: EnvelopedKey, } #[allow(dead_code)] struct WriteCap { issued_to: Hash, path: String, chain: Vec, signature: Signature, } #[allow(dead_code)] struct Certificate { issued_to: Hash, issued_by: Hash, signature: Signature, } #[allow(dead_code)] enum Hash { Sha2_256([u8; 32]), Sha2_512([u8; 64]), } #[allow(dead_code)] enum Signature { Ed25519([u8; 64]), } #[allow(dead_code)] enum EnvelopedKey { Xsalsa20Poly1305([u8; 32]), } type Directory = HashMap>; trait IDirectory { fn file_names(&self) -> hash_map::Keys<'_, String, Vec>; } impl IDirectory for Directory { fn file_names(&self) -> hash_map::Keys<'_, String, Vec> { self.keys() } } #[allow(dead_code)] struct FragmentRecord { stored_by: Hash, serial: u32, } #[allow(dead_code)] struct Fragment { path: String, serial: u32, body: Vec, } fn main() { println!("Hello, world!"); }