pub struct HyperConfig {
pub data_dir: PathBuf,
pub storage_path_template: String,
pub trust_provider: Arc<dyn TrustProvider>,
pub credential_expiry_warning: Duration,
pub mailbox_backpressure_threshold: Option<usize>,
}Expand description
Hyper initialization configuration.
Fields§
§data_dir: PathBufRoot data directory, corresponds to the namespace template variable {data_dir}
storage_path_template: StringStorage namespace path template, defaults to {data_dir}/{actr_type}
Available variables:
{data_dir}— root data directory{instance_id}— locally unique ID generated and persisted at Hyper startup{hostname}— OS hostname{manufacturer}— Actor manufacturer name{actr_name}— Actor name{version}— Actor version{actr_type}— full three-part type ({manufacturer}/{actr_name}/{version}){realm_id}— Actor’s realm (available at runtime){env.VAR}— any environment variable
trust_provider: Arc<dyn TrustProvider>Pluggable package-signature verifier. Replaces the old TrustMode enum.
Construct via crate::verify::StaticTrust, crate::verify::RegistryTrust,
or crate::verify::ChainTrust (or bring your own).
credential_expiry_warning: DurationHow far in advance of expiry the framework should fire the
on_credential_expiring hook.
Default: 5 minutes.
mailbox_backpressure_threshold: Option<usize>Queue-length trip point for the on_mailbox_backpressure hook.
When Some(threshold), the hook fires once per incident as soon as
the mailbox queued-message count crosses threshold, and re-arms
once the queue falls back below. When None, a built-in default of
[DEFAULT_MAILBOX_BACKPRESSURE_THRESHOLD] messages is used. The
mailbox trait currently exposes status() which reports
queued_messages, so the polling-based implementation in
lifecycle::node works against any mailbox backend that supports
the base trait.
Implementations§
Source§impl HyperConfig
impl HyperConfig
Sourcepub fn new(
data_dir: impl AsRef<Path>,
trust_provider: Arc<dyn TrustProvider>,
) -> Self
pub fn new( data_dir: impl AsRef<Path>, trust_provider: Arc<dyn TrustProvider>, ) -> Self
Build a new HyperConfig with the given data_dir and package trust provider.
There is no default provider — you must explicitly decide how packages
are authenticated (see crate::verify::StaticTrust /
crate::verify::RegistryTrust / crate::verify::ChainTrust).
pub fn with_storage_template(self, template: impl Into<String>) -> Self
pub fn with_trust_provider(self, trust_provider: Arc<dyn TrustProvider>) -> Self
Sourcepub fn with_credential_expiry_warning(self, window: Duration) -> Self
pub fn with_credential_expiry_warning(self, window: Duration) -> Self
Override the credential-expiry warning lead time.
Sourcepub fn with_mailbox_backpressure_threshold(
self,
threshold: Option<usize>,
) -> Self
pub fn with_mailbox_backpressure_threshold( self, threshold: Option<usize>, ) -> Self
Set the mailbox backpressure threshold.
See HyperConfig::mailbox_backpressure_threshold for semantics.
Sourcepub fn resolved_mailbox_backpressure_threshold(&self) -> usize
pub fn resolved_mailbox_backpressure_threshold(&self) -> usize
Resolve the active mailbox backpressure threshold — explicit
override or the built-in [DEFAULT_MAILBOX_BACKPRESSURE_THRESHOLD].
Trait Implementations§
Source§impl Clone for HyperConfig
impl Clone for HyperConfig
Source§fn clone(&self) -> HyperConfig
fn clone(&self) -> HyperConfig
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 !RefUnwindSafe for HyperConfig
impl !UnwindSafe for HyperConfig
impl Freeze for HyperConfig
impl Send for HyperConfig
impl Sync for HyperConfig
impl Unpin for HyperConfig
impl UnsafeUnpin for HyperConfig
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> 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 more