pub struct FileWorkspaceStore;Expand description
Two-layer file adapter — the default. Reads
.memstead/workspace.toml (operator) +
.memstead/state/mounts.json (engine). Constructed without
arguments; everything is keyed off the workspace root passed
per-call.
Implementations§
Source§impl FileWorkspaceStore
impl FileWorkspaceStore
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct the adapter. Stateless; safe to share across engines, callers, and tests.
Sourcepub fn workspace_toml_path(workspace_root: &Path) -> PathBuf
pub fn workspace_toml_path(workspace_root: &Path) -> PathBuf
Path of the operator-edited file.
Sourcepub fn mounts_json_path(workspace_root: &Path) -> PathBuf
pub fn mounts_json_path(workspace_root: &Path) -> PathBuf
Path of the engine-managed state file.
Trait Implementations§
Source§impl Clone for FileWorkspaceStore
impl Clone for FileWorkspaceStore
Source§fn clone(&self) -> FileWorkspaceStore
fn clone(&self) -> FileWorkspaceStore
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 moreimpl Copy for FileWorkspaceStore
Source§impl Debug for FileWorkspaceStore
impl Debug for FileWorkspaceStore
Source§impl Default for FileWorkspaceStore
impl Default for FileWorkspaceStore
Source§fn default() -> FileWorkspaceStore
fn default() -> FileWorkspaceStore
Returns the “default value” for a type. Read more
Source§impl WorkspaceStoreAdapter for FileWorkspaceStore
impl WorkspaceStoreAdapter for FileWorkspaceStore
Source§fn load(&self, workspace_root: &Path) -> Result<Workspace, StoreError>
fn load(&self, workspace_root: &Path) -> Result<Workspace, StoreError>
Load the workspace from
workspace_root. Implementations
resolve the adapter-specific files relative to this root
(e.g. the file adapter reads
<workspace_root>/.memstead/workspace.toml +
<workspace_root>/.memstead/state/mounts.json).Source§fn save_state(
&self,
workspace_root: &Path,
workspace: &Workspace,
) -> Result<(), StoreError>
fn save_state( &self, workspace_root: &Path, workspace: &Workspace, ) -> Result<(), StoreError>
Persist the engine-managed slice of state (today: the mount
list). Operator-edited fields stay untouched — adapters that
share one file with operator content must not overwrite it
here. The two-layer file adapter writes only
state/mounts.json.Auto Trait Implementations§
impl Freeze for FileWorkspaceStore
impl RefUnwindSafe for FileWorkspaceStore
impl Send for FileWorkspaceStore
impl Sync for FileWorkspaceStore
impl Unpin for FileWorkspaceStore
impl UnsafeUnpin for FileWorkspaceStore
impl UnwindSafe for FileWorkspaceStore
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more