Struct foundationdb::directory::DirectorySubspace
source · [−]pub struct DirectorySubspace { /* private fields */ }Expand description
A DirectorySubspace represents the contents of a directory, but it also remembers
the path with which it was opened and offers convenience methods to operate on the directory at that path.
An instance of DirectorySubspace can be used for all the usual subspace operations.
It can also be used to operate on the directory with which it was opened.
Implementations
sourceimpl DirectorySubspace
impl DirectorySubspace
pub fn subspace<T: TuplePack>(&self, t: &T) -> Subspace
pub fn bytes(&self) -> &[u8]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
pub fn pack<T: TuplePack>(&self, t: &T) -> Vec<u8>
pub fn unpack<'de, T: TupleUnpack<'de>>(&self, key: &'de [u8]) -> PackResult<T>
pub fn range(&self) -> (Vec<u8>, Vec<u8>)
pub fn get_path(&self) -> &[String]
pub fn set_path(&mut self, path: Vec<String>)
pub fn get_layer(&self) -> &[u8]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
pub fn is_start_of(&self, key: &[u8]) -> bool
Trait Implementations
sourceimpl Clone for DirectorySubspace
impl Clone for DirectorySubspace
sourcefn clone(&self) -> DirectorySubspace
fn clone(&self) -> DirectorySubspace
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for DirectorySubspace
impl Debug for DirectorySubspace
sourceimpl Directory for DirectorySubspace
impl Directory for DirectorySubspace
sourcefn create_or_open<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
prefix: Option<&'life3 [u8]>,
layer: Option<&'life4 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
fn create_or_open<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
prefix: Option<&'life3 [u8]>,
layer: Option<&'life4 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
Creates or opens the subdirectory of this Directory located at path (creating parent directories, if necessary). Read more
sourcefn create<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
prefix: Option<&'life3 [u8]>,
layer: Option<&'life4 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
fn create<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
prefix: Option<&'life3 [u8]>,
layer: Option<&'life4 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
Creates a subdirectory of this Directory located at path (creating parent directories if necessary). Read more
sourcefn open<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
layer: Option<&'life3 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn open<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
txn: &'life1 Transaction,
path: &'life2 [String],
layer: Option<&'life3 [u8]>
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Opens the subdirectory of this Directory located at path.
sourcefn exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Checks if the subdirectory of this Directory located at path exists.
sourcefn move_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
new_path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn move_directory<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
new_path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Moves this Directory to the specified newAbsolutePath.
sourcefn move_to<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
old_path: &'life2 [String],
new_path: &'life3 [String]
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn move_to<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
old_path: &'life2 [String],
new_path: &'life3 [String]
) -> Pin<Box<dyn Future<Output = Result<DirectoryOutput, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Moves the subdirectory of this Directory located at oldpath to newpath.
sourcefn remove<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn remove<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Removes the subdirectory of this Directory located at path and all of its subdirectories, as well as all of their contents.
sourcefn remove_if_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn remove_if_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<bool, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Removes the subdirectory of this Directory located at path (if the path exists) and all of its subdirectories, as well as all of their contents.
sourcefn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
trx: &'life1 Transaction,
path: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DirectoryError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
List the subdirectories of this directory at a given subpath.
Auto Trait Implementations
impl RefUnwindSafe for DirectorySubspace
impl Send for DirectorySubspace
impl Sync for DirectorySubspace
impl Unpin for DirectorySubspace
impl UnwindSafe for DirectorySubspace
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more