Crate frogger

Source
Expand description

§Frogger 🐸

A simple file system implementation using the 9P protocol.

§Features

  • Flexible namespace management through bind operations
  • Multiple binding modes (Replace, Before, After, Create)
  • Union directories
  • Custom environments

§Quick Start

use frogger::{FilesystemManager, NineP, BindMode};
use std::path::PathBuf;
 
// Create a new filesystem
let fs = NineP::new(PathBuf::from("/tmp/test"))?;
let manager = FilesystemManager::new(fs);
 
// Bind a directory
manager.bind(
    "/source/path".as_ref(),
    "/target/path".as_ref(),
    BindMode::Replace
)?;

§Bind Modes

  • Replace: Replaces existing content at the mountpoint
  • Before: Adds content with higher priority
  • After: Adds content with lower priority
  • Create: Creates mountpoint if needed

Re-exports§

pub use modules::mount::FilesystemManager;
pub use modules::namespace::BindMode;
pub use modules::namespace::NamespaceManager;
pub use modules::proto::BoundEntry;
pub use modules::proto::NineP;

Modules§

modules
Core filesystem modules and implementations. Core filesystem modules.