pub enum M2dirYield {
WantsPid,
WantsRandom {
len: usize,
},
WantsFileExists(BTreeSet<M2dirPath>),
WantsDirRead(BTreeSet<M2dirPath>),
WantsDirCreate(BTreeSet<M2dirPath>),
WantsDirRemove(BTreeSet<M2dirPath>),
WantsFileRead(BTreeSet<M2dirPath>),
WantsFileCreate(BTreeMap<M2dirPath, Vec<u8>>),
WantsFileRemove(BTreeSet<M2dirPath>),
WantsRename(Vec<(M2dirPath, M2dirPath)>),
}Expand description
Standard filesystem-only Yield. Every io-m2dir coroutine picks type Yield = M2dirYield.
Each variant is paired with the matching M2dirArg variant the driver
feeds back on the next resume.
Variants§
WantsPid
Driver must supply the current process id and feed back
M2dirArg::Pid.
WantsRandom
Driver must supply len random bytes and feed back
M2dirArg::Random.
WantsFileExists(BTreeSet<M2dirPath>)
Driver must check each path for existence as a regular file and feed
back M2dirArg::FileExists.
WantsDirRead(BTreeSet<M2dirPath>)
Driver must list each directory’s entries and feed back
M2dirArg::DirRead.
WantsDirCreate(BTreeSet<M2dirPath>)
Driver must create each directory (with parents) and feed back
M2dirArg::DirCreate.
WantsDirRemove(BTreeSet<M2dirPath>)
Driver must recursively remove each directory and feed back
M2dirArg::DirRemove.
WantsFileRead(BTreeSet<M2dirPath>)
Driver must read each file’s bytes and feed back M2dirArg::FileRead.
WantsFileCreate(BTreeMap<M2dirPath, Vec<u8>>)
Driver must write each (path, bytes) pair and feed back
M2dirArg::FileCreate.
WantsFileRemove(BTreeSet<M2dirPath>)
Driver must remove each file and feed back M2dirArg::FileRemove.
WantsRename(Vec<(M2dirPath, M2dirPath)>)
Driver must rename each (from, to) pair and feed back
M2dirArg::Rename.