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§
Source§impl DirectorySubspace
impl DirectorySubspace
pub fn subspace<T: TuplePack>(&self, t: &T) -> Subspace
pub fn bytes(&self) -> &[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] ⓘ
pub fn is_start_of(&self, key: &[u8]) -> bool
Trait Implementations§
Source§impl Clone for DirectorySubspace
impl Clone for DirectorySubspace
Source§fn clone(&self) -> DirectorySubspace
fn clone(&self) -> DirectorySubspace
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DirectorySubspace
impl Debug for DirectorySubspace
Source§impl Directory for DirectorySubspace
impl Directory for DirectorySubspace
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Creates or opens the subdirectory of this Directory located at path (creating parent directories, if necessary). Read more
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Creates a subdirectory of this Directory located at path (creating parent directories if necessary). Read more
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Opens the subdirectory of this Directory located at path.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Checks if the subdirectory of this Directory located at path exists.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Moves this Directory to the specified newAbsolutePath.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Moves the subdirectory of this Directory located at oldpath to newpath.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Removes the subdirectory of this Directory located at path and all of its subdirectories, as well as all of their contents.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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.
Source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List the subdirectories of this directory at a given subpath.
Auto Trait Implementations§
impl Freeze for DirectorySubspace
impl RefUnwindSafe for DirectorySubspace
impl Send for DirectorySubspace
impl Sync for DirectorySubspace
impl Unpin for DirectorySubspace
impl UnwindSafe for DirectorySubspace
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