pub struct Resolver<'a> { /* private fields */ }
Available on crate feature client only.
Expand description

Utility to simplify config building and config overrides.

The resolver allows the same initialization logic to be reused for both initial config and override config.

This resolver can be initialized to one of two modes:

  1. Initial mode: The resolver is being used in a service Config builder’s build() method, and thus, there is no config override at this point.
  2. Override mode: The resolver is being used by the ConfigOverrideRuntimePlugin’s constructor and needs to incorporate both the original config and the given config override for this operation.

In all the methods on Resolver, the term “latest” refers to the initial config when in Initial mode, and to config override when in Override mode.

Implementations§

source§

impl<'a> Resolver<'a>

source

pub fn initial( config: &'a mut CloneableLayer, components: &'a mut RuntimeComponentsBuilder ) -> Self

Construct a new Resolver in initial mode.

source

pub fn overrid( initial_config: FrozenLayer, initial_components: &'a RuntimeComponentsBuilder, config: &'a mut CloneableLayer, components: &'a mut RuntimeComponentsBuilder ) -> Self

Construct a new Resolver in override mode.

source

pub fn is_initial(&self) -> bool

Returns true if in initial mode.

source

pub fn config_mut(&mut self) -> &mut CloneableLayer

Returns a mutable reference to the latest config.

source

pub fn runtime_components_mut(&mut self) -> &mut RuntimeComponentsBuilder

Returns a mutable reference to the latest runtime components.

source

pub fn is_latest_set<T>(&self) -> bool
where T: Storable<Storer = StoreReplace<T>>,

Returns true if the latest config has T set.

The “latest” is initial for Resolver::Initial, and override for Resolver::Override.

source

pub fn is_set<T>(&self) -> bool
where T: Storable<Storer = StoreReplace<T>>,

Returns true if T is set anywhere.

source

pub fn resolve_config<T>(&self) -> <T::Storer as Store>::ReturnedType<'_>
where T: Storable<Storer = StoreReplace<T>>,

Resolves the value T with fallback

source

pub fn sleep_impl(&self) -> Option<SharedAsyncSleep>

The async sleep implementation.

source

pub fn latest_sleep_impl(&self) -> Option<SharedAsyncSleep>

The async sleep implementation.

Auto Trait Implementations§

§

impl<'a> Freeze for Resolver<'a>

§

impl<'a> !RefUnwindSafe for Resolver<'a>

§

impl<'a> Send for Resolver<'a>

§

impl<'a> Sync for Resolver<'a>

§

impl<'a> Unpin for Resolver<'a>

§

impl<'a> !UnwindSafe for Resolver<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more