pub struct MemoryFileSystem { /* private fields */ }Implementations§
Source§impl MemoryFileSystem
impl MemoryFileSystem
pub fn new() -> MemoryFileSystem
pub fn read_dir_filtered_limited<F>( &mut self, path: &str, max_entries: usize, include: F, ) -> Result<Vec<String>, VfsError>
pub fn link_count_in_subtree(&self, ino: u64, path: &str) -> usize
pub fn symlink_with_metadata( &mut self, target: &str, link_path: &str, mode: u32, uid: u32, gid: u32, ) -> Result<(), VfsError>
Sourcepub fn snapshot(&self) -> MemoryFileSystemSnapshot
pub fn snapshot(&self) -> MemoryFileSystemSnapshot
Clones the full in-memory filesystem state.
Callers that expose snapshots outside the kernel must enforce their own byte and inode limits before reaching this raw clone operation.
pub fn from_snapshot(snapshot: MemoryFileSystemSnapshot) -> MemoryFileSystem
Trait Implementations§
Source§impl Debug for MemoryFileSystem
impl Debug for MemoryFileSystem
Source§impl Default for MemoryFileSystem
impl Default for MemoryFileSystem
Source§fn default() -> MemoryFileSystem
fn default() -> MemoryFileSystem
Returns the “default value” for a type. Read more
Source§impl VirtualFileSystem for MemoryFileSystem
impl VirtualFileSystem for MemoryFileSystem
fn read_file(&mut self, path: &str) -> Result<Vec<u8>, VfsError>
fn read_dir(&mut self, path: &str) -> Result<Vec<String>, VfsError>
fn read_dir_limited( &mut self, path: &str, max_entries: usize, ) -> Result<Vec<String>, VfsError>
fn read_dir_with_types( &mut self, path: &str, ) -> Result<Vec<VirtualDirEntry>, VfsError>
Source§fn write_file(
&mut self,
path: &str,
content: impl Into<Vec<u8>>,
) -> Result<(), VfsError>
fn write_file( &mut self, path: &str, content: impl Into<Vec<u8>>, ) -> Result<(), VfsError>
Writes caller-owned bytes into the filesystem. Read more
fn create_file_exclusive( &mut self, path: &str, content: impl Into<Vec<u8>>, ) -> Result<(), VfsError>
Source§fn append_file(
&mut self,
path: &str,
content: impl Into<Vec<u8>>,
) -> Result<u64, VfsError>
fn append_file( &mut self, path: &str, content: impl Into<Vec<u8>>, ) -> Result<u64, VfsError>
Appends caller-owned bytes into the filesystem after checking that the
in-memory file can grow without overflowing addressable memory.
fn create_dir(&mut self, path: &str) -> Result<(), VfsError>
fn mkdir(&mut self, path: &str, recursive: bool) -> Result<(), VfsError>
fn exists(&self, path: &str) -> bool
fn stat(&mut self, path: &str) -> Result<VirtualStat, VfsError>
fn remove_file(&mut self, path: &str) -> Result<(), VfsError>
fn remove_dir(&mut self, path: &str) -> Result<(), VfsError>
fn rename(&mut self, old_path: &str, new_path: &str) -> Result<(), VfsError>
fn realpath(&self, path: &str) -> Result<String, VfsError>
fn symlink(&mut self, target: &str, link_path: &str) -> Result<(), VfsError>
fn read_link(&self, path: &str) -> Result<String, VfsError>
fn lstat(&self, path: &str) -> Result<VirtualStat, VfsError>
fn link(&mut self, old_path: &str, new_path: &str) -> Result<(), VfsError>
fn chmod(&mut self, path: &str, mode: u32) -> Result<(), VfsError>
fn chown(&mut self, path: &str, uid: u32, gid: u32) -> Result<(), VfsError>
fn utimes( &mut self, path: &str, atime_ms: u64, mtime_ms: u64, ) -> Result<(), VfsError>
fn utimes_spec( &mut self, path: &str, atime: VirtualUtimeSpec, mtime: VirtualUtimeSpec, follow_symlinks: bool, ) -> Result<(), VfsError>
Source§fn truncate(&mut self, path: &str, length: u64) -> Result<(), VfsError>
fn truncate(&mut self, path: &str, length: u64) -> Result<(), VfsError>
Resizes a file. VM resource policy must be enforced by the caller.
fn pread( &mut self, path: &str, offset: u64, length: usize, ) -> Result<Vec<u8>, VfsError>
fn read_text_file(&mut self, path: &str) -> Result<String, VfsError>
fn write_file_with_mode( &mut self, path: &str, content: impl Into<Vec<u8>>, mode: Option<u32>, ) -> Result<(), VfsError>
fn create_file_exclusive_with_mode( &mut self, path: &str, content: impl Into<Vec<u8>>, mode: Option<u32>, ) -> Result<(), VfsError>
fn create_dir_with_mode( &mut self, path: &str, mode: Option<u32>, ) -> Result<(), VfsError>
fn mkdir_with_mode( &mut self, path: &str, recursive: bool, mode: Option<u32>, ) -> Result<(), VfsError>
Auto Trait Implementations§
impl Freeze for MemoryFileSystem
impl RefUnwindSafe for MemoryFileSystem
impl Send for MemoryFileSystem
impl Sync for MemoryFileSystem
impl Unpin for MemoryFileSystem
impl UnsafeUnpin for MemoryFileSystem
impl UnwindSafe for MemoryFileSystem
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more