ekv-fs 0.2.0

A chunked, #![no_std] Virtual File System built on top of the Embassy ekv key-value store.
Documentation
//! Chunked, `#![no_std]` virtual file system on [Embassy `ekv`](https://github.com/embassy-rs/ekv).
//!
//! Large files are split into fixed-size chunks in the key-value store so you can
//! stream reads with bounded RAM. Paths are opaque strings (e.g. `/photos/cat.jpg`);
//! there is no directory listing API.
//!
//! # Example
//!
//! ```ignore
//! use ekv::{Config, Database};
//! use ekv_fs::EkvFs;
//!
//! // After formatting flash and opening your `Database`:
//! let fs = EkvFs::<_, _, 64, 512>::new(&db);
//! fs.write_file("/hello.txt", b"Hello").await?;
//! let meta = fs.stat("/hello.txt").await?;
//! let mut file = fs.open("/hello.txt").await?;
//! let mut buf = [0u8; 32];
//! let n = file.read(&mut buf).await?;
//! ```

#![no_std]
#![deny(missing_docs)]

#[cfg(test)]
extern crate alloc;

mod error;
mod file;
mod fs;
mod key;
mod meta;

pub use error::Error;
pub use file::EkvFile;
pub use fs::EkvFs;
pub use key::{KEY_BUF_CAP, KEY_SUFFIX_OVERHEAD, max_key_len, path_fits};
pub use meta::FileMeta;

#[cfg(test)]
mod tests;