pub enum FsIo {
CreateDir(Result<(), PathBuf>),
CreateDirs(Result<(), HashSet<PathBuf>>),
CreateFile(Result<(), (PathBuf, Vec<u8>)>),
CreateFiles(Result<(), HashMap<PathBuf, Vec<u8>>>),
ReadDir(Result<HashSet<PathBuf>, PathBuf>),
ReadFile(Result<Vec<u8>, PathBuf>),
ReadFiles(Result<HashMap<PathBuf, Vec<u8>>, HashSet<PathBuf>>),
RemoveDir(Result<(), PathBuf>),
RemoveDirs(Result<(), HashSet<PathBuf>>),
RemoveFile(Result<(), PathBuf>),
RemoveFiles(Result<(), HashSet<PathBuf>>),
Rename(Result<(), Vec<(PathBuf, PathBuf)>>),
}
Expand description
The filesystem I/O request and response enum, emitted by coroutines and processed by runtimes.
Represents all the possible I/O requests that a filesystem coroutine can emit. Runtimes should be able to handle all variants.
Variants§
CreateDir(Result<(), PathBuf>)
I/O request to create a filesystem directory.
Input: directory path
Output: none
CreateDirs(Result<(), HashSet<PathBuf>>)
I/O request to create multiple filesystem directories.
Input: set of directory paths
Output: none
CreateFile(Result<(), (PathBuf, Vec<u8>)>)
I/O request to create a filesystem file.
Input: tuple of file path and raw contents (bytes)
Output: none
CreateFiles(Result<(), HashMap<PathBuf, Vec<u8>>>)
I/O request to create multiple filesystem files.
Input: map of path and raw contents (bytes)
Output: none
ReadDir(Result<HashSet<PathBuf>, PathBuf>)
I/O request to read entries from a filesystem directory.
Input: directory path
Output: set of entry paths
ReadFile(Result<Vec<u8>, PathBuf>)
I/O request to read a filesystem file.
Input: file path
Output: raw contents (bytes)
ReadFiles(Result<HashMap<PathBuf, Vec<u8>>, HashSet<PathBuf>>)
I/O request to read multiple filesystem files.
Input: set of file paths
Output: map of path and raw contents (bytes)
RemoveDir(Result<(), PathBuf>)
I/O request to remove a filesystem directory.
Input: directory path
Output: none
RemoveDirs(Result<(), HashSet<PathBuf>>)
I/O request to remove multiple filesystem directories.
Input: set of directory paths
Output: none
RemoveFile(Result<(), PathBuf>)
I/O request to remove a filesystem file.
Input: file path
Output: none
RemoveFiles(Result<(), HashSet<PathBuf>>)
I/O request to remove multiple filesystem files.
Input: set of file paths
Output: none
Rename(Result<(), Vec<(PathBuf, PathBuf)>>)
I/O request to rename multiple filesystem files and/or directories.
Input: set of directory and/or file paths
Output: none