pub enum ThreadMode {
Materialized,
Virtualized,
Solid,
}Expand description
How a thread’s worktree is realised on disk. Three flavours:
ThreadMode::Materialized— clonefile-or-reflink the captured tree into a thread directory. Realread(2)-able bytes, ~zero disk cost via shared extents (APFS / btrfs / XFS w/ reflinks). Day-one default on reflink-capable filesystems and the path the stat-cache fast no-op + manifest sidecar were built for. Seedocs/design/clonefile-threads.md.ThreadMode::Virtualized— project the captured tree through a content-addressed FUSE/FSKit/ProjFS mount. Nothing on disk until the kernel asks. Useful for repos too large to materialize or when the CAS is remote-backed.ThreadMode::Solid— full file copies with no shared extents. Strong isolation; the only choice on ext4 / NTFS hosts that have neither reflinks nor a usable mount API.
The discriminant names match the user-facing --workspace flag
values so a single vocabulary spans the CLI, the JSON contract,
and the thread record on disk. Pre-rename data using the older
"lightweight" (clonefile) / "materialized" (full-copy) names
will fail to deserialize and require a re-export — intentional;
silently degrading isolation modes is the wrong default.
Variants§
Trait Implementations§
Source§impl Clone for ThreadMode
impl Clone for ThreadMode
Source§fn clone(&self) -> ThreadMode
fn clone(&self) -> ThreadMode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ThreadMode
impl Debug for ThreadMode
Source§impl<'de> Deserialize<'de> for ThreadMode
impl<'de> Deserialize<'de> for ThreadMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ThreadMode
impl Display for ThreadMode
impl Eq for ThreadMode
Source§impl PartialEq for ThreadMode
impl PartialEq for ThreadMode
Source§impl Serialize for ThreadMode
impl Serialize for ThreadMode
impl StructuralPartialEq for ThreadMode
Auto Trait Implementations§
impl Freeze for ThreadMode
impl RefUnwindSafe for ThreadMode
impl Send for ThreadMode
impl Sync for ThreadMode
impl Unpin for ThreadMode
impl UnsafeUnpin for ThreadMode
impl UnwindSafe for ThreadMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more