pub struct ServeBootstrap {
pub app_state: AppState,
pub api_key_state: ApiKeyState,
pub db_state: Db,
pub archive_max_days: Option<i64>,
pub task_handles: Vec<JoinHandle<()>>,
pub daemon_keypair_outcome: Option<EnsureOutcome>,
pub request_timeout: Duration,
pub deferred_audit_metrics: DeferredAuditMetrics,
}Expand description
Aggregated state produced by bootstrap_serve.
Fields§
§app_state: AppState§api_key_state: ApiKeyState§db_state: Db§archive_max_days: Option<i64>§task_handles: Vec<JoinHandle<()>>§daemon_keypair_outcome: Option<EnsureOutcome>Round-3 F12 — lifecycle outcome of the daemon’s signing-keypair
auto-gen path, captured by [ensure_and_load_daemon_keypair].
Read by serve when composing the F8/F12 startup banner so
operators see whether a fresh key was created on first boot.
request_timeout: Durationv0.7.0 H7 (round-2) — resolved per-request HTTP timeout. The
serve path passes this to crate::build_router_with_timeout
so the timeout middleware is wired with the operator’s
request_timeout_secs (default 60 s).
deferred_audit_metrics: DeferredAuditMetricsv0.7.0 Policy-Engine Item 3 — shared atomic metrics handle for the
deferred-audit drainer. serve polls these on the shutdown path
(after the HTTP server has quiesced) to wait for every submitted
refusal to flush into signed_events before the WAL checkpoint +
process exit. The producer-side queue itself lives on AppState
and inside the process-wide governance-hook OnceLocks, so this
metrics handle is the only drain-observability surface serve
retains after the queue is moved into AppState.
Auto Trait Implementations§
impl !RefUnwindSafe for ServeBootstrap
impl !UnwindSafe for ServeBootstrap
impl Freeze for ServeBootstrap
impl Send for ServeBootstrap
impl Sync for ServeBootstrap
impl Unpin for ServeBootstrap
impl UnsafeUnpin for ServeBootstrap
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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