pub trait LinuxNamespaceMutationStore: Send + Sync {
// Required methods
fn activate_namespace<'life0, 'life1, 'async_trait>(
&'life0 self,
scope: &'life1 CloudScope,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<Vec<LinuxCreatedFile>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_file<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 LinuxCreateFileRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxCreateFileAcceptance>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn open_created_file<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 CloudItemKey,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxWriteSession>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn activate_namespace_overlay<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 CloudScope,
_session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceOverlay>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn create_directory<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxCreateDirectoryRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceItem>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn rename<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRenameRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxRenameAcceptance>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRemoveRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceTombstone>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Expand description
Product-owned durable namespace transaction used by native Linux create.
create_file must atomically persist the stable CloudItemKey, inode/generation record,
complete core mutation intent, empty staging state, and mount-generation comparison before it
returns. The port never asks Forge to derive identities from a name, path, hash, or callback.
Required Methods§
Sourcefn activate_namespace<'life0, 'life1, 'async_trait>(
&'life0 self,
scope: &'life1 CloudScope,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<Vec<LinuxCreatedFile>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn activate_namespace<'life0, 'life1, 'async_trait>(
&'life0 self,
scope: &'life1 CloudScope,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<Vec<LinuxCreatedFile>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Activates a mount generation and returns non-terminal local creates for startup recovery.
Sourcefn create_file<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 LinuxCreateFileRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxCreateFileAcceptance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_file<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 LinuxCreateFileRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxCreateFileAcceptance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically accepts a create and opens its empty local staging session.
Sourcefn open_created_file<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 CloudItemKey,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxWriteSession>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open_created_file<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 CloudItemKey,
session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxWriteSession>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Opens local staging for an already accepted create that is not remotely materialized yet.
Provided Methods§
Sourcefn activate_namespace_overlay<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 CloudScope,
_session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceOverlay>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn activate_namespace_overlay<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 CloudScope,
_session_generation: SessionGeneration,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceOverlay>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Restores durable local directory creates, renames, and tombstones for a newer mount.
Sourcefn create_directory<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxCreateDirectoryRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceItem>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_directory<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxCreateDirectoryRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceItem>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically accepts a durable directory create.
Sourcefn rename<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRenameRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxRenameAcceptance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rename<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRenameRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxRenameAcceptance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically accepts a stable-identity rename or move.
Sourcefn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRemoveRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceTombstone>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
_request: &'life1 LinuxRemoveRequest,
) -> Pin<Box<dyn Future<Output = LinuxNamespaceStoreResult<LinuxNamespaceTombstone>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically accepts unlink or rmdir and returns its durable tombstone.