pub struct SessionDirs {
pub state_store: Arc<JsonFileStore>,
pub card_store: Arc<FileCardStore>,
pub scenarios_dir: PathBuf,
pub nn_dir: PathBuf,
}Expand description
Per-session storage roots resolved by the service layer.
Bundles the four filesystem handles that flow into every
Executor::start_session / Executor::start_session_with_env call so
callers don’t juggle four parallel arguments. The service layer builds one
from algocline_core::AppDir and hands it in; the engine consumes fields
as needed.
Adding a new subsystem-owned path (e.g. a future blob_dir) is a single
field on this struct rather than a sweep across every start_session caller.
Fields§
§state_store: Arc<JsonFileStore>Backing store for alc.state.* (typically <app_dir>/state).
card_store: Arc<FileCardStore>Backing store for alc.card.* (typically <app_dir>/cards).
scenarios_dir: PathBufDirectory exposed to Lua via alc._dirs.scenarios.
nn_dir: PathBufStore root for alc.nn.save / alc.nn.load (typically <app_dir>/nn).
An empty PathBuf disables the store install (save/load then error);
consumed only when the nn feature is enabled.
Trait Implementations§
Source§impl Clone for SessionDirs
impl Clone for SessionDirs
Source§fn clone(&self) -> SessionDirs
fn clone(&self) -> SessionDirs
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SessionDirs
impl RefUnwindSafe for SessionDirs
impl Send for SessionDirs
impl Sync for SessionDirs
impl Unpin for SessionDirs
impl UnsafeUnpin for SessionDirs
impl UnwindSafe for SessionDirs
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 moreimpl<T> MaybeSend for Twhere
T: Send,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.