Trait tc_transact::fs::Dir
source · [−]pub trait Dir: Store + Send + Sized + 'static {
type Read: DirRead<Lock = Self>;
type Write: DirWrite<FileEntry = <Self::Read as DirRead>::FileEntry, Lock = Self>;
fn read<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<Self::Read>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn write<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<Self::Write>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn create_dir_unique<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<Self>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn create_file_unique<'life0, 'async_trait, C, F, B>(
&'life0 self,
txn_id: TxnId,
class: C
) -> Pin<Box<dyn Future<Output = TCResult<F>> + Send + 'async_trait>>
where
<Self::Write as DirWrite>::FileClass: From<C>,
<Self::Read as DirRead>::FileEntry: AsType<F>,
C: Copy + Send + Display,
B: BlockData,
F: File<B>,
C: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
}
Expand description
A transactional directory
Required Associated Types
Required Methods
Lock this Dir
for reading.
Provided Methods
Convenience method to create a temporary working directory
sourcefn create_file_unique<'life0, 'async_trait, C, F, B>(
&'life0 self,
txn_id: TxnId,
class: C
) -> Pin<Box<dyn Future<Output = TCResult<F>> + Send + 'async_trait>>where
<Self::Write as DirWrite>::FileClass: From<C>,
<Self::Read as DirRead>::FileEntry: AsType<F>,
C: Copy + Send + Display,
B: BlockData,
F: File<B>,
C: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn create_file_unique<'life0, 'async_trait, C, F, B>(
&'life0 self,
txn_id: TxnId,
class: C
) -> Pin<Box<dyn Future<Output = TCResult<F>> + Send + 'async_trait>>where
<Self::Write as DirWrite>::FileClass: From<C>,
<Self::Read as DirRead>::FileEntry: AsType<F>,
C: Copy + Send + Display,
B: BlockData,
F: File<B>,
C: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: Sync + 'async_trait,
Convenience method to create a temporary file