From cd3fbd38c2ee7f391697bfd9ebbb4a860db21263 Mon Sep 17 00:00:00 2001
From: WILLIAMS Harvey <hwilliam@inria.fr>
Date: Mon, 17 Mar 2025 14:35:51 +0100
Subject: [PATCH] Doc comments

---
 examples/local/src/main.rs         | 3 +++
 examples/local/src/net/dispatch.rs | 9 +++++----
 examples/local/src/net/mod.rs      | 2 +-
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/examples/local/src/main.rs b/examples/local/src/main.rs
index ecc1c38..f46183a 100644
--- a/examples/local/src/main.rs
+++ b/examples/local/src/main.rs
@@ -10,7 +10,10 @@ async fn main() {
     let mut net_a = Net::new("a").await;
     let mut net_b = Net::new("b").await;
     
+    // Channel for b to receive messages 
     let mut recv_b = net_b.recv().await;
+
+    // Send message from a to b
     net_a.send("b", "Hello world!".as_bytes().to_vec());
 
     while let Some((from, msg)) = recv_b.recv().await {
diff --git a/examples/local/src/net/dispatch.rs b/examples/local/src/net/dispatch.rs
index 3f4f5af..63da5f3 100644
--- a/examples/local/src/net/dispatch.rs
+++ b/examples/local/src/net/dispatch.rs
@@ -13,6 +13,7 @@ enum DispatchMessage {
     /// Instruct dispatcher to send a message to a specific address
     SendMessage {
         to: String,
+        from: String,
         message: Vec<u8>
     },
     /// Instruct dispatcher to provide a receiver through which messages to 'address' will be received.
@@ -60,8 +61,8 @@ impl DispatchHandle {
     }
 
     /// Utility function to send a message
-    pub fn send_message(&mut self, to: &str, message: Vec<u8>) {
-        let message = DispatchMessage::SendMessage { to: to.to_string(), message };
+    pub fn send_message(&mut self, to: &str, from: &str, message: Vec<u8>) {
+        let message = DispatchMessage::SendMessage { to: to.to_string(), from: from.to_string(), message };
 
         self.sender.try_send(message).expect("Actor should be alive.");
     }
@@ -79,12 +80,12 @@ struct Actor {
 impl Actor {
     pub fn handle_message(&mut self, message: DispatchMessage) {
         match message {
-            DispatchMessage::SendMessage { to, message} => {
+            DispatchMessage::SendMessage { to, from, message} => {
                 // Look for senders to dispatch message to
                 if let Some(senders) = self.senders.get_mut(&to) {
                     senders
                         .iter_mut()
-                        .try_for_each(|sender| sender.try_send((to.clone(), message.clone())))
+                        .try_for_each(|sender| sender.try_send((from.clone(), message.clone())))
                         .expect("Expected sender channel to be open and not full");
                 } else {
                     eprintln!("No sender with address {} to dispatch - Message dropped.", to);
diff --git a/examples/local/src/net/mod.rs b/examples/local/src/net/mod.rs
index 0f4fea2..896ba4b 100644
--- a/examples/local/src/net/mod.rs
+++ b/examples/local/src/net/mod.rs
@@ -25,7 +25,7 @@ impl Net {
 impl Network for Net {
     fn send(&mut self, to: &str, message: Vec<u8>) {
         // Send message to the dispatch actor
-        self.dispatcher.send_message(to, message);
+        self.dispatcher.send_message(to, &self.address, message);
     }
 
     async fn recv(&mut self) -> mpsc::Receiver<(String, Vec<u8>)> {
-- 
GitLab