Struct virtual_fs::mem_fs::FileSystem  
source · pub struct FileSystem { /* private fields */ }Expand description
The in-memory file system!
This FileSystem type can be cloned, it’s a light copy of the
FileSystemInner (which is behind a Arc + RwLock).
Implementations§
source§impl FileSystem
 
impl FileSystem
sourcepub fn insert_ro_file(
    &self,
    path: &Path,
    contents: Cow<'static, [u8]>
) -> Result<()>
 
pub fn insert_ro_file( &self, path: &Path, contents: Cow<'static, [u8]> ) -> Result<()>
Inserts a readonly file into the file system that uses copy-on-write (this is required for zero-copy creation of the same file)
sourcepub fn insert_arc_file_at(
    &self,
    target_path: PathBuf,
    fs: Arc<dyn FileSystem + Send + Sync>,
    source_path: PathBuf
) -> Result<()>
 
pub fn insert_arc_file_at( &self, target_path: PathBuf, fs: Arc<dyn FileSystem + Send + Sync>, source_path: PathBuf ) -> Result<()>
Inserts a arc file into the file system that references another file in another file system (does not copy the real data)
sourcepub fn insert_arc_file(
    &self,
    target_path: PathBuf,
    fs: Arc<dyn FileSystem + Send + Sync>
) -> Result<()>
 
pub fn insert_arc_file( &self, target_path: PathBuf, fs: Arc<dyn FileSystem + Send + Sync> ) -> Result<()>
Inserts a arc file into the file system that references another file in another file system (does not copy the real data)
sourcepub fn insert_arc_directory_at(
    &self,
    target_path: PathBuf,
    other: Arc<dyn FileSystem + Send + Sync>,
    source_path: PathBuf
) -> Result<()>
 
pub fn insert_arc_directory_at( &self, target_path: PathBuf, other: Arc<dyn FileSystem + Send + Sync>, source_path: PathBuf ) -> Result<()>
Inserts a arc directory into the file system that references another file in another file system (does not copy the real data)
sourcepub fn insert_arc_directory(
    &self,
    target_path: PathBuf,
    other: Arc<dyn FileSystem + Send + Sync>
) -> Result<()>
 
pub fn insert_arc_directory( &self, target_path: PathBuf, other: Arc<dyn FileSystem + Send + Sync> ) -> Result<()>
Inserts a arc directory into the file system that references another file in another file system (does not copy the real data)
sourcepub fn insert_device_file(
    &self,
    path: PathBuf,
    file: Box<dyn VirtualFile + Send + Sync>
) -> Result<()>
 
pub fn insert_device_file( &self, path: PathBuf, file: Box<dyn VirtualFile + Send + Sync> ) -> Result<()>
Inserts a arc file into the file system that references another file in another file system (does not copy the real data)
source§impl FileSystem
 
impl FileSystem
pub fn set_memory_limiter(&self, limiter: DynFsMemoryLimiter)
pub fn new_open_options_ext(&self) -> &FileSystem
sourcepub fn canonicalize_unchecked(&self, path: &Path) -> Result<PathBuf>
 
pub fn canonicalize_unchecked(&self, path: &Path) -> Result<PathBuf>
Canonicalize a path without validating that it actually exists.
sourcepub fn mount_directory_entries(
    &self,
    target_path: &Path,
    other: &Arc<dyn FileSystem + Send + Sync>,
    source_path: &Path
) -> Result<()>
 
pub fn mount_directory_entries( &self, target_path: &Path, other: &Arc<dyn FileSystem + Send + Sync>, source_path: &Path ) -> Result<()>
Merge all items from a given source path (directory) of a different file system into this file system.
Individual files and directories of the given path are mounted.
This function is not recursive, only the items in the source_path are mounted.
See Self::union for mounting all inodes recursively.
pub fn union(&self, other: &Arc<dyn FileSystem + Send + Sync>)
pub fn mount( &self, target_path: PathBuf, other: &Arc<dyn FileSystem + Send + Sync>, source_path: PathBuf ) -> Result<()>
Trait Implementations§
source§impl Clone for FileSystem
 
impl Clone for FileSystem
source§fn clone(&self) -> FileSystem
 
fn clone(&self) -> FileSystem
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read more