From dbb52ccbb22b0ebf5ba346c05fa61b676a03d241 Mon Sep 17 00:00:00 2001 From: Russell Gilbert Date: Fri, 13 Mar 2026 15:55:19 +0000 Subject: [PATCH] RustyLee: Starts Heart organ processing Activates the Heart organ's main command processing loop by calling its `start` method. Replaces the previous placeholder `run_loop` method with the functional `start` method. The `start` method now takes a mutable reference to `self`, which enables it to operate as a long-running process without consuming the `Heart` instance. --- src/rustylee/src/organs/heart.rs | 14 +++----------- src/rustylee/src/organs/organ_factory.rs | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/rustylee/src/organs/heart.rs b/src/rustylee/src/organs/heart.rs index 6c3bcc6..c4aaae4 100644 --- a/src/rustylee/src/organs/heart.rs +++ b/src/rustylee/src/organs/heart.rs @@ -10,12 +10,6 @@ pub struct Heart { feedback_to_brain_tx: mpsc::Sender, } -impl Heart { - pub(crate) fn run_loop(&mut self) { - todo!() - } -} - impl Heart { pub(crate) fn new(id: u32, rx: Receiver, tx: Sender) -> Self { Self { @@ -24,11 +18,9 @@ impl Heart { feedback_to_brain_tx: tx, } } -} - -impl Heart { + #[instrument(skip(self), fields(heart_id = self.id))] - pub fn start(self) { + pub fn start(&mut self) { info!("Heart listener active"); while let Ok(envelope) = self.brain_command_rx.recv() { @@ -53,4 +45,4 @@ impl Heart { let _ = self.feedback_to_brain_tx.send(reply); } } -} \ No newline at end of file +} diff --git a/src/rustylee/src/organs/organ_factory.rs b/src/rustylee/src/organs/organ_factory.rs index 8775d6e..81eaffb 100644 --- a/src/rustylee/src/organs/organ_factory.rs +++ b/src/rustylee/src/organs/organ_factory.rs @@ -44,7 +44,7 @@ impl OrganFactory { thread::spawn(move || { let mut heart = Heart::new(id, brain_command_to_organ_rx, feedback_to_brain_tx); - heart.run_loop(); + heart.start(); }); socket