Expand description
Heddle’s content-addressed mount.
mount is the platform-agnostic core (and Linux FUSE shell) that
exposes a heddle thread as a directory tree. Reads walk the
Merkle DAG lazily; writes (eventually) flow into a per-thread
overlay that drains to a heddle commit on heddle capture.
The architecture is:
PlatformShell trait ← thin platform adapters
(FuseShell, FSKitShell, ProjFsShell, NfsShell)
↓
ContentAddressedMount ← pure Rust core
↓
crates/repo + crates/objects (already exists)Three of those adapters are per-OS (FUSE on Linux, FSKit on
macOS, ProjFS on Windows). [NfsShell] is the universal
fallback: it stands up an in-process NFSv3 server and asks the
host’s built-in NFS client to mount it. The CLI’s mount
lifecycle prefers the native adapter and falls back to NFS
when the native one is unavailable at runtime.
See PlatformShell for the trait every adapter implements,
and ContentAddressedMount for the heddle-aware core.
Re-exports§
pub use crate::cache::BlobCachePool;pub use crate::cache::BlobCacheStats;pub use crate::cache::DEFAULT_BLOB_CACHE_BYTES;pub use crate::core::ContentAddressedMount;pub use crate::core::MountOptions;pub use crate::core::PrewarmHandle;pub use crate::core::PrewarmStats;pub use crate::core::PromotionPolicy;pub use crate::error::MountError;pub use crate::error::Result;pub use crate::shell::AttrUpdate;pub use crate::shell::Attrs;pub use crate::shell::Entry;pub use crate::shell::NodeId;pub use crate::shell::NodeKind;pub use crate::shell::PlatformShell;