#[non_exhaustive]pub struct EmbeddedEngine {
pub router: Router,
pub pool: EmbeddedPool,
pub instance_id: Uuid,
pub modules: Vec<String>,
pub engine_version: &'static str,
}Expand description
Engine composed for embedding into a parent binary. See module docs.
Marked #[non_exhaustive] so future fields (graceful-shutdown
handle, metrics handle, …) can be added without breaking
downstream pattern-matching.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.router: RouterEngine’s axum::Router. Mount on parent’s listener at root,
or under a sub-path. URL surface includes:
/api/v1/engine/*— engine + per-module APIs/auth/*— OIDC spec endpoints (when auth module enabled)/api/v1/vault/*— vault APIs (when vault module enabled)/workflow/,/auth/console,/engine/console,/vault/console— assay-dashboard SPAs
pool: EmbeddedPoolBackend-typed pool engine’s modules use. Parent may share for
its own queries; engine confines writes to its own schemas
(engine.*, workflow.*, auth.*, vault.* on PG; per-
module .db files on sqlite via ATTACH).
instance_id: UuidThis engine instance’s engine.instances row id. Surface in
parent’s introspection endpoints if useful.
modules: Vec<String>Names of modules attached/enabled at boot. Mirrors
EngineState::modules but cloned out so the parent doesn’t
need to keep an Arc<EngineState> around.
engine_version: &'static strassay-engine crate version.
Auto Trait Implementations§
impl Freeze for EmbeddedEngine
impl !RefUnwindSafe for EmbeddedEngine
impl Send for EmbeddedEngine
impl Sync for EmbeddedEngine
impl Unpin for EmbeddedEngine
impl UnsafeUnpin for EmbeddedEngine
impl !UnwindSafe for EmbeddedEngine
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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