pub struct RuntimeDirRoots {
pub runtime: WorkdirRoot,
pub sealed_etc: WorkdirRoot,
pub harness: WorkdirRoot,
pub records: Option<WorkdirRoot>,
pub temp: Option<WorkdirRoot>,
pub home: Option<WorkdirRoot>,
}Expand description
The three held directories beneath one session’s <session-id>/, and the session’s records
directory beside them, each sharing the session’s refusal latch: every directory outside the
workdir a command is told of or a sealed root is composed from. Cheap to clone.
Fields§
§runtime: WorkdirRootruntime/, which $MURMUR_RUNTIME_DIR names.
sealed_etc: WorkdirRootsealed-etc/.
harness: WorkdirRootharness/.
records: Option<WorkdirRoot>The session’s records directory, which $MURMUR_RECORDS_DIR names, given the same
read-only rule and bind as runtime/. None for roots held outside a session, where no
records directory exists.
temp: Option<WorkdirRoot>The session’s temporary folder, tmp/ in its records directory: $TMPDIR in every
command, and /tmp wherever the session maps it (crate::temp_dir). None for roots
held outside a session, whose commands are told of no temporary folder.
home: Option<WorkdirRoot>The session’s home folder, home/ in its records directory: $HOME in every command,
granted exactly as Self::temp is. None for roots held outside a session, where no
command runs.
Implementations§
Source§impl RuntimeDirRoots
impl RuntimeDirRoots
Sourcepub fn new(
runtime: WorkdirRoot,
sealed_etc: WorkdirRoot,
harness: WorkdirRoot,
) -> Self
pub fn new( runtime: WorkdirRoot, sealed_etc: WorkdirRoot, harness: WorkdirRoot, ) -> Self
The three roots of a session’s runtime directory, for a caller that holds them itself — a test, or a plan run outside a session. No records directory.
Sourcepub fn with_records(self, records: WorkdirRoot) -> Self
pub fn with_records(self, records: WorkdirRoot) -> Self
These roots with records as the session’s records directory.
Sourcepub fn with_temp(self, temp: WorkdirRoot) -> Self
pub fn with_temp(self, temp: WorkdirRoot) -> Self
These roots with temp as the session’s temporary folder.
Sourcepub fn with_home(self, home: WorkdirRoot) -> Self
pub fn with_home(self, home: WorkdirRoot) -> Self
These roots with home as the session’s home folder.
Trait Implementations§
Source§impl Clone for RuntimeDirRoots
impl Clone for RuntimeDirRoots
Auto Trait Implementations§
impl Freeze for RuntimeDirRoots
impl RefUnwindSafe for RuntimeDirRoots
impl Send for RuntimeDirRoots
impl Sync for RuntimeDirRoots
impl Unpin for RuntimeDirRoots
impl UnsafeUnpin for RuntimeDirRoots
impl UnwindSafe for RuntimeDirRoots
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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