RustyLee: Adds organ ID to brain messages
Includes a unique identifier for the sending organ in `BrainMessage`. Enables the Brain to differentiate and respond appropriately to messages from various organs. Refactors `Brain` method for clearer communication flow.
This commit is contained in:
parent
6bf5809ed8
commit
175e01e361
3 changed files with 5 additions and 3 deletions
|
|
@ -52,7 +52,7 @@ impl Brain {
|
|||
}
|
||||
|
||||
while let Ok(message) = self.organ_rx.try_recv() {
|
||||
self.process_organ_message(message);
|
||||
self.process_message_from_organ(message);
|
||||
}
|
||||
|
||||
self.rest();
|
||||
|
|
@ -153,8 +153,8 @@ impl Brain {
|
|||
self.state != Buried
|
||||
}
|
||||
|
||||
fn process_organ_message(&mut self, message: BrainMessage) {
|
||||
debug!("organ message received: {:?}", message);
|
||||
fn process_message_from_organ(&mut self, message: BrainMessage) {
|
||||
debug!("organ message received: {:?}.", message);
|
||||
if let OrganCommand::Waken = message.organ_command.command {
|
||||
self.state = LifeState::Awake;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ impl Heart {
|
|||
let reply = BrainMessage {
|
||||
organ_command: command_envelope,
|
||||
responded_at: Time::time_stamp_millis(),
|
||||
organ_id: self.id,
|
||||
response,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -33,5 +33,6 @@ pub struct OrganCommandEnvelope {
|
|||
pub struct BrainMessage {
|
||||
pub organ_command: OrganCommandEnvelope,
|
||||
pub responded_at: u64,
|
||||
pub organ_id: u32,
|
||||
pub response: OrganResponse,
|
||||
}
|
||||
Loading…
Reference in a new issue