pub struct Storage {
pub data_dir: PathBuf,
pub workspace: PathBuf,
pub persistent: bool,
}Expand description
Where a booted app keeps its state.
Fields§
§data_dir: PathBufserve’s SQLite session log.
workspace: PathBufThe microVM workspace: the shell’s working directory and the root of the file tools.
persistent: boolWhether this survives the microVM stopping.
Implementations§
Source§impl Storage
impl Storage
Sourcepub fn resolve(options: &Options) -> Result<Self>
pub fn resolve(options: &Options) -> Result<Self>
Resolve where state lives, in order:
SERVE_DATA_DIRorDATABASE_URL(serve’s own settings), with the workspace inSERVE_WORKSPACEor beside it. Taken as persistent: the operator chose it.- AgentCore session storage mounted at
SESSION_STORAGE: the log in/mnt/workspace/.serve, the workspace at/mnt/workspace. - Otherwise a temporary directory, lost when the microVM stops.
Resolved on the first request, not at boot: AgentCore mounts session storage only once the session is invoked.
Trait Implementations§
impl Eq for Storage
impl StructuralPartialEq for Storage
Auto Trait Implementations§
impl Freeze for Storage
impl RefUnwindSafe for Storage
impl Send for Storage
impl Sync for Storage
impl Unpin for Storage
impl UnsafeUnpin for Storage
impl UnwindSafe for Storage
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 moreCreates a shared type from an unshared type.