4 releases
new 0.2.2 | Nov 10, 2024 |
---|---|
0.2.1 | Jun 30, 2024 |
0.2.0 | Jun 27, 2024 |
0.1.0 | Jan 16, 2024 |
#568 in Configuration
107 downloads per month
7KB
115 lines
hotreload
A simple crate to hotreload toml config files.
Usage
use hotreload::{Hotreload, Apply};
#[derive(Default)]
struct Config {
value: Mutex<i32>
}
#[derive(serde::Deserialize)]
struct Data {
value: i32
}
impl Apply<Data> for Config {
fn apply(&self, data: Data) -> hotreload::ApplyResult {
*self.value.lock().unwrap() = data.value;
Ok(())
}
}
fn example() -> Result<(), hotreload::Error> {
let watcher = Hotreload::<Config, Data>::new("my-config.toml")?;
let config: Arc<Config> = watcher.config().clone()
}
License
Licensed under either of
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.
Dependencies
~1–8.5MB
~74K SLoC