pub struct Application { /* private fields */ }Expand description
A complete Saddle application hosted by the process-wide async runtime.
This is an assembly API, not a general-purpose async executor: it exposes no
Tokio handle, task spawning, runtime configuration, or arbitrary block_on.
Implementations§
Source§impl Application
impl Application
Sourcepub fn request_lifecycle(&self) -> RequestLifecycle
pub fn request_lifecycle(&self) -> RequestLifecycle
Returns the request lifecycle shared with Saddle’s Service adapter.
Sourcepub fn register<C>(&mut self, component: C) -> Result<()>where
C: ComponentLifecycle + 'static,
pub fn register<C>(&mut self, component: C) -> Result<()>where
C: ComponentLifecycle + 'static,
Registers a framework component for managed startup and shutdown.
Components start in registration order and stop in reverse order.
Registers an already shared framework component.
Sourcepub fn run(self) -> Result<()>
pub fn run(self) -> Result<()>
Runs the application on Saddle’s single process-wide async runtime.
The call blocks the process entry thread until SIGINT or, on Unix, SIGTERM. Shutdown first closes request admission, then waits for every admitted request, and finally stops components in reverse order.
Sourcepub fn run_with<F, Fut>(bootstrap: F) -> Result<()>
pub fn run_with<F, Fut>(bootstrap: F) -> Result<()>
Creates the application inside Saddle’s process-wide async runtime and then runs it until shutdown.
This is the framework assembly path for components whose initialization performs async I/O. Business code is not given a runtime handle or an executor through this API.