Toggle on immediately spawns the agent if not running
Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
c73f037265
commit
5b75ad3553
1 changed files with 7 additions and 3 deletions
|
|
@ -102,11 +102,15 @@ impl Unconscious {
|
|||
}
|
||||
|
||||
/// Toggle an agent on/off by name. Returns new enabled state.
|
||||
/// If enabling, immediately spawns the agent if it's not running.
|
||||
pub fn toggle(&mut self, name: &str) -> Option<bool> {
|
||||
let agent = self.agents.iter_mut().find(|a| a.name == name)?;
|
||||
agent.enabled = !agent.enabled;
|
||||
let new_state = agent.enabled;
|
||||
let idx = self.agents.iter().position(|a| a.name == name)?;
|
||||
self.agents[idx].enabled = !self.agents[idx].enabled;
|
||||
let new_state = self.agents[idx].enabled;
|
||||
self.save_enabled();
|
||||
if new_state && !self.agents[idx].is_running() {
|
||||
self.spawn_agent(idx);
|
||||
}
|
||||
Some(new_state)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue