Struct wasmcloud_host::wasmbus::config::ConfigBundle
source · 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_config
which 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
changed
which 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<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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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::Request