Struct HotReloadConfig
pub struct HotReloadConfig {
entries: HashMap<String, ConfigEntry>,
version: AtomicU64,
changes: Vec<ConfigChange>,
max_audit_entries: usize,
}Expand description
Hot-reloadable configuration store.
Fields§
§entries: HashMap<String, ConfigEntry>§version: AtomicU64§changes: Vec<ConfigChange>§max_audit_entries: usizeImplementations§
§impl HotReloadConfig
impl HotReloadConfig
pub fn new() -> HotReloadConfig
pub fn new() -> HotReloadConfig
Create a new configuration store.
pub fn register(
&mut self,
key: impl Into<String>,
value: ConfigValue,
reloadable: bool,
description: impl Into<String>,
)
pub fn register( &mut self, key: impl Into<String>, value: ConfigValue, reloadable: bool, description: impl Into<String>, )
Register a configuration key with initial value and reload policy.
pub fn get(&self, key: &str) -> Option<&ConfigValue>
pub fn get(&self, key: &str) -> Option<&ConfigValue>
Get a configuration value.
pub fn get_string(&self, key: &str) -> Option<&str>
pub fn get_string(&self, key: &str) -> Option<&str>
Get a string value.
pub fn update(
&mut self,
key: &str,
new_value: ConfigValue,
changed_by: impl Into<String>,
) -> Result<u64, ConfigUpdateError>
pub fn update( &mut self, key: &str, new_value: ConfigValue, changed_by: impl Into<String>, ) -> Result<u64, ConfigUpdateError>
Update a configuration value at runtime.
Returns Ok(version) on success, Err on validation failure.
pub fn recent_changes(&self, limit: usize) -> &[ConfigChange]
pub fn recent_changes(&self, limit: usize) -> &[ConfigChange]
Get recent changes (audit trail).
Trait Implementations§
§impl Default for HotReloadConfig
impl Default for HotReloadConfig
§fn default() -> HotReloadConfig
fn default() -> HotReloadConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for HotReloadConfig
impl RefUnwindSafe for HotReloadConfig
impl Send for HotReloadConfig
impl Sync for HotReloadConfig
impl Unpin for HotReloadConfig
impl UnwindSafe for HotReloadConfig
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.