pub struct ConfigBundle { /* private fields */ }Expand description
A merged bundle of configuration for use with components that watches for updates to all named configs specified.
There are two main ways to get config from this struct:
- You can call
get_configwhich will return a reference to the merged config. This is mainly for use in components, which will fetch needed config on demand - You can call
changedwhich will return a reference to the merged config. This is for use in situations where you want to be notified when a config changes, such as for a provider that needs to be notified when a config changes
Implementations§
Source§impl ConfigBundle
impl ConfigBundle
Sourcepub async fn get_config(&self) -> RwLockReadGuard<'_, HashMap<String, String>>
pub async fn get_config(&self) -> RwLockReadGuard<'_, HashMap<String, String>>
Returns a reference to the merged config behind a lock guard. This guard must be dropped when you are no longer consuming the config
Sourcepub async fn changed(
&mut self,
) -> Result<RwLockReadGuard<'_, HashMap<String, String>>>
pub async fn changed( &mut self, ) -> Result<RwLockReadGuard<'_, HashMap<String, String>>>
Waits for the config to change and returns a reference to the merged config behind a lock guard. This guard must be dropped when you are no longer consuming the config.
Please note that this requires a mutable borrow in order to manage underlying notification acknowledgement.
Sourcepub fn config_names(&self) -> &Vec<String>
pub fn config_names(&self) -> &Vec<String>
Returns a reference to the ordered list of config names handled by this bundle
Trait Implementations§
Source§impl Clone for ConfigBundle
impl Clone for ConfigBundle
Auto Trait Implementations§
impl Freeze for ConfigBundle
impl !RefUnwindSafe for ConfigBundle
impl Send for ConfigBundle
impl Sync for ConfigBundle
impl Unpin for ConfigBundle
impl !UnwindSafe for ConfigBundle
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request