pub struct MobKitStorageLayout { /* private fields */ }Expand description
Immutable path authority, constructed once at bootstrap.
Implementations§
Source§impl MobKitStorageLayout
impl MobKitStorageLayout
Sourcepub fn from_meerkat_layout(
meerkat_layout: &StorageLayout,
state_dir: PathBuf,
) -> Self
pub fn from_meerkat_layout( meerkat_layout: &StorageLayout, state_dir: PathBuf, ) -> Self
Embedded construction: MobKit runs inside a Meerkat realm and derives
from Meerkat’s already-resolved meerkat_core::StorageLayout —
MobKit never re-resolves ambient roots. state_dir is the directory
MobKit’s stores live in (the embedder chooses where under the realm);
the Meerkat state root is carried for the layout summary so health
surfaces can correlate the two.
Sourcepub fn standalone(state_dir: PathBuf, gateway_home: PathBuf) -> Self
pub fn standalone(state_dir: PathBuf, gateway_home: PathBuf) -> Self
Standalone gateway construction from an explicit state directory plus
the gateway home (registry + peer key). Derive the home with
default_gateway_home; nothing else may read $XDG_STATE_HOME.
Sourcepub fn standalone_from_store_path(
store_path: &Path,
gateway_home: PathBuf,
) -> Self
pub fn standalone_from_store_path( store_path: &Path, gateway_home: PathBuf, ) -> Self
Standalone construction from a gateway store_path init parameter:
a path with a file extension is an explicit session-database override
(its parent becomes the state directory); otherwise it is the state
directory itself. This is the one place that interprets the
store_path escape hatch — call sites never sniff extensions.
Sourcepub fn declared_ephemeral(scratch_root: PathBuf) -> Self
pub fn declared_ephemeral(scratch_root: PathBuf) -> Self
Explicitly declared-ephemeral construction: no persistent state
exists, and every store under scratch_root is per-process scratch.
The choice is recorded in the layout summary — never a silent
call-site fallback into the OS temp directory.
Sourcepub fn with_injected_roots(
state_dir: PathBuf,
gateway_home: Option<PathBuf>,
) -> Self
pub fn with_injected_roots( state_dir: PathBuf, gateway_home: Option<PathBuf>, ) -> Self
Fully-injected constructor: no ambient reads at all (tests, and
embedders that own their environment — the runtime builder constructs
its layout from the explicit persistent_state() root this way).
Sourcepub fn gateway_home(&self) -> Option<&Path>
pub fn gateway_home(&self) -> Option<&Path>
The XDG gateway home (registry + peer key), when this layout has one.
Sourcepub fn meerkat_state_root(&self) -> Option<&Path>
pub fn meerkat_state_root(&self) -> Option<&Path>
The Meerkat realm state root, when embedded via
Self::from_meerkat_layout.
Sourcepub fn session_db_override(&self) -> Option<&Path>
pub fn session_db_override(&self) -> Option<&Path>
The explicit session-database override, when constructed from a
store_path with a file extension.
Sourcepub fn is_declared_ephemeral(&self) -> bool
pub fn is_declared_ephemeral(&self) -> bool
Whether the state root is an explicitly declared scratch root.
Sourcepub fn resolve_database(
&self,
slot: DatabaseSlot,
) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn resolve_database( &self, slot: DatabaseSlot, ) -> Result<ResolvedDatabase, StorageLayoutError>
Resolve a database locator by canonical-name-first probing (see the module docs). The resolver never creates files and never renames.
Sourcepub fn session_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn session_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
The sessions database (probing; honors the explicit override).
Sourcepub fn continuity_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn continuity_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
The identity-continuity database (probing).
Sourcepub fn metadata_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn metadata_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
The runtime-metadata database (probing).
Sourcepub fn console_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn console_db(&self) -> Result<ResolvedDatabase, StorageLayoutError>
The console-timeline database (probing).
Sourcepub fn agent_memory_root(&self) -> Result<ResolvedDatabase, StorageLayoutError>
pub fn agent_memory_root(&self) -> Result<ResolvedDatabase, StorageLayoutError>
The agent-memory root directory (probing; per-realm files beneath it stay feature-owned).
Sourcepub fn runtime_db(&self) -> PathBuf
pub fn runtime_db(&self) -> PathBuf
The runtime store database. One spelling everywhere — infallible.
Sourcepub fn schedule_db(&self) -> PathBuf
pub fn schedule_db(&self) -> PathBuf
The schedule store database. One spelling everywhere — infallible.
Sourcepub fn workgraph_db(&self) -> PathBuf
pub fn workgraph_db(&self) -> PathBuf
The workgraph store database. One spelling everywhere — infallible.
Sourcepub fn jobs_db(&self) -> PathBuf
pub fn jobs_db(&self) -> PathBuf
Canonical Meerkat-level detached-job database inherited by MobKit’s composite provider. This is realm-owned, not a second MobKit store.
Sourcepub fn event_log_db(&self) -> PathBuf
pub fn event_log_db(&self) -> PathBuf
The reserved event-log locator (nothing opens it before M4).
Sourcepub fn blob_root(&self) -> PathBuf
pub fn blob_root(&self) -> PathBuf
The blob root directory (internal sharding stays feature-owned).
Sourcepub fn peer_key_file(&self) -> Option<PathBuf>
pub fn peer_key_file(&self) -> Option<PathBuf>
The gateway peer-key file, when this layout has a gateway home.
Sourcepub fn registry_file(&self) -> Option<PathBuf>
pub fn registry_file(&self) -> Option<PathBuf>
The runtime registry file, when this layout has a gateway home.
Sourcepub fn layout_summary(&self) -> StorageLayoutSummary
pub fn layout_summary(&self) -> StorageLayoutSummary
A serializable snapshot of the layout and every slot’s resolution, for health surfaces (the storage doctor consumes it).
Trait Implementations§
Source§impl Clone for MobKitStorageLayout
impl Clone for MobKitStorageLayout
Source§fn clone(&self) -> MobKitStorageLayout
fn clone(&self) -> MobKitStorageLayout
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MobKitStorageLayout
impl Debug for MobKitStorageLayout
impl Eq for MobKitStorageLayout
Source§impl PartialEq for MobKitStorageLayout
impl PartialEq for MobKitStorageLayout
impl StructuralPartialEq for MobKitStorageLayout
Auto Trait Implementations§
impl Freeze for MobKitStorageLayout
impl RefUnwindSafe for MobKitStorageLayout
impl Send for MobKitStorageLayout
impl Sync for MobKitStorageLayout
impl Unpin for MobKitStorageLayout
impl UnsafeUnpin for MobKitStorageLayout
impl UnwindSafe for MobKitStorageLayout
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CoreExecutorTurnFinalizationGuard for Twhere
T: Send,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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