From 76d96cb25375042d1b2b6be7a04f3d41e3ae7c2e Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Sun, 17 Nov 2019 22:26:47 +0100
Subject: [PATCH] [ref] gva: remove unused code

---
 lib/modules/gva/src/lib.rs | 182 +++++++++++--------------------------
 1 file changed, 53 insertions(+), 129 deletions(-)

diff --git a/lib/modules/gva/src/lib.rs b/lib/modules/gva/src/lib.rs
index 00826f15..0665d90c 100644
--- a/lib/modules/gva/src/lib.rs
+++ b/lib/modules/gva/src/lib.rs
@@ -62,7 +62,6 @@ use durs_module::{
     ModuleStaticName, RequiredKeys, RequiredKeysContent, RouterThreadMessage, SoftwareMetaDatas,
 };
 
-//use durs_module::*;
 use durs_network::events::NetworkEvent;
 use durs_network_documents::host::Host;
 
@@ -114,19 +113,6 @@ impl Merge for GvaUserConf {
     }
 }
 
-#[derive(Debug, Copy, Clone)]
-/// Message from others thread of gva module
-pub enum GvaThreadMsg {}
-
-#[derive(Debug, Clone)]
-/// Format of messages received by the gva module
-pub enum GvaMsg {
-    /// Message from another module
-    DursMsg(Box<DursMsg>),
-    /// Message from others thread of gva module
-    GvaThreadMsg(GvaThreadMsg),
-}
-
 #[derive(StructOpt, Debug, Clone)]
 #[structopt(name = "gva", setting(structopt::clap::AppSettings::ColoredHelp))]
 /// Gva subcommand options
@@ -139,14 +125,9 @@ pub struct GvaOpt {
     pub port: Option<u16>,
 }
 
-#[derive(Debug, Clone)]
+#[derive(Debug, Copy, Clone)]
 /// Data that the Gva module needs to cache
-pub struct GvaModuleDatas {
-    /// Sender of all child threads (except the proxy thread)
-    pub child_threads: Vec<mpsc::Sender<GvaMsg>>,
-    /// Any data
-    pub field: usize,
-}
+pub struct GvaModuleDatas {}
 
 #[derive(Debug, Copy, Clone)]
 /// Gva module
@@ -228,72 +209,31 @@ impl DursModule<DuRsConf, DursMsg> for GvaModule {
         let host = Host::parse(&conf.host).map_err(|_| GvaError::InvalidHost)?;
 
         // Instanciate Gva module datas
-        let datas = GvaModuleDatas {
-            child_threads: Vec::new(),
-            field: 3,
-        };
+        let _datas = GvaModuleDatas {};
 
         // Create gva main thread channel
-        let (gva_sender, gva_receiver): (mpsc::Sender<GvaMsg>, mpsc::Receiver<GvaMsg>) =
+        let (gva_sender, gva_receiver): (mpsc::Sender<DursMsg>, mpsc::Receiver<DursMsg>) =
             mpsc::channel();
 
-        // Create proxy channel
-        let (proxy_sender, proxy_receiver): (mpsc::Sender<DursMsg>, mpsc::Receiver<DursMsg>) =
-            mpsc::channel();
-
-        // Launch a proxy thread that transform DursMsgContent() to GvaMsg::DursMsgContent(DursMsgContent())
-        let router_sender_clone = router_sender.clone();
-        let gva_sender_clone = gva_sender.clone();
-        thread::spawn(move || {
-            // Send gva module registration to router thread
-            router_sender_clone
-                .send(RouterThreadMessage::ModuleRegistration {
-                    static_name: ModuleStaticName(MODULE_NAME),
-                    sender: proxy_sender, // Messages sent by the router will be received by your proxy thread
-                    roles: vec![ModuleRole::UserInterface], // Roles assigned to your module
-                    events_subscription: vec![ModuleEvent::NewValidBlock], // Events to which your module subscribes
-                    reserved_apis_parts: vec![],
-                    endpoints: vec![],
-                })
-                .expect("Fatal error : gva module fail to register to router !"); // The registration of your module must be successful, in case of failure the program must be interrupted.
-
-            // If we are here it means that your module has successfully registered, we indicate it in the debug level log, it can be helpful.
-            debug!("Send gva module registration to router thread.");
-
-            /*
-             * Main loop of your proxy thread
-             */
-            loop {
-                match proxy_receiver.recv() {
-                    Ok(message) => {
-                        let stop = if let DursMsg::Stop = message {
-                            true
-                        } else {
-                            false
-                        };
-                        if gva_sender_clone
-                            .send(GvaMsg::DursMsg(Box::new(message)))
-                            .is_err()
-                        {
-                            // Log error
-                            warn!("Gva proxy : fail to relay DursMsg to gva main thread !")
-                        }
-                        if stop {
-                            break;
-                        }
-                    }
-                    Err(e) => {
-                        // Log error
-                        warn!("{}", e);
-                        break;
-                    }
-                }
-            }
-        });
+        // Send gva module registration to router thread
+        router_sender
+            .send(RouterThreadMessage::ModuleRegistration {
+                static_name: ModuleStaticName(MODULE_NAME),
+                sender: gva_sender, // Messages sent by the router will be received by your proxy thread
+                roles: vec![ModuleRole::UserInterface], // Roles assigned to your module
+                events_subscription: vec![ModuleEvent::NewValidBlock], // Events to which your module subscribes
+                reserved_apis_parts: vec![],
+                endpoints: vec![],
+            })
+            .expect("Fatal error : gva module fail to register to router !"); // The registration of this module must be successful, in case of failure the program must be interrupted.
+
+        // If we are here it means that this module has successfully registered,
+        // we indicate it in the debug level log, it can be helpful.
+        debug!("Send gva module registration to router thread.");
 
         let smd: SoftwareMetaDatas<DuRsConf> = soft_meta_datas.clone();
         let router_sender_clone = router_sender.clone();
-        thread::spawn(move || {
+        let _webserver_thread = thread::spawn(move || {
             if let Err(e) = webserver::start_web_server(&smd, host, conf.port) {
                 error!("GVA http web server error  : {}  ", e);
             } else {
@@ -309,69 +249,53 @@ impl DursModule<DuRsConf, DursMsg> for GvaModule {
         loop {
             // Get messages
             match gva_receiver.recv_timeout(Duration::from_millis(250)) {
-                Ok(ref message) => match *message {
-                    GvaMsg::DursMsg(ref durs_message) => {
-                        match durs_message.deref() {
-                            DursMsg::Stop => {
-                                // Relay stop signal to all child threads
-                                let _result_stop_propagation: Result<(), mpsc::SendError<GvaMsg>> =
-                                    datas
-                                        .child_threads
-                                        .iter()
-                                        .map(|t| t.send(GvaMsg::DursMsg(Box::new(DursMsg::Stop))))
-                                        .collect();
-                                // Relay stop signal to router
-                                let _result = router_sender
-                                    .send(RouterThreadMessage::ModuleMessage(DursMsg::Stop));
-                                // Break main loop
-                                break;
+                Ok(durs_message) => match durs_message {
+                    DursMsg::Stop => {
+                        // Relay stop signal to router
+                        let _result =
+                            router_sender.send(RouterThreadMessage::ModuleMessage(DursMsg::Stop));
+                        // Break main loop
+                        break;
+                    }
+                    DursMsg::Event {
+                        ref event_content, ..
+                    } => match *event_content {
+                        DursEvent::BlockchainEvent(ref blockchain_event) => {
+                            match *blockchain_event.deref() {
+                                BlockchainEvent::StackUpValidBlock(ref _block) => {
+                                    // Do something when the node has stacked a new block at its local blockchain
+                                }
+                                BlockchainEvent::RevertBlocks(ref _blocks) => {
+                                    // Do something when the node has destacked blocks from its local blockchain (roll back)
+                                }
+                                _ => {} // Do nothing for events that don't concern this module.
                             }
-                            DursMsg::Event {
-                                ref event_content, ..
-                            } => match *event_content {
-                                DursEvent::BlockchainEvent(ref blockchain_event) => {
-                                    match *blockchain_event.deref() {
-                                        BlockchainEvent::StackUpValidBlock(ref _block) => {
-                                            // Do something when the node has stacked a new block at its local blockchain
-                                        }
-                                        BlockchainEvent::RevertBlocks(ref _blocks) => {
-                                            // Do something when the node has destacked blocks from its local blockchain (roll back)
-                                        }
-                                        _ => {} // Do nothing for events that don't concern your module.
-                                    }
+                        }
+                        DursEvent::NetworkEvent(ref network_event_box) => {
+                            match *network_event_box.deref() {
+                                NetworkEvent::ReceivePeers(ref _peers) => {
+                                    // Do something when the node receive peers cards from network
                                 }
-                                DursEvent::NetworkEvent(ref network_event_box) => {
-                                    match *network_event_box.deref() {
-                                        NetworkEvent::ReceivePeers(ref _peers) => {
-                                            // Do something when the node receive peers cards from network
-                                        }
-                                        NetworkEvent::ReceiveDocuments(ref _bc_documents) => {
-                                            // Do something when the node receive blockchain documents from network
-                                        }
-                                        _ => {} // Do nothing for events that don't concern your module.
-                                    }
+                                NetworkEvent::ReceiveDocuments(ref _bc_documents) => {
+                                    // Do something when the node receive blockchain documents from network
                                 }
-                                _ => {} // Do nothing for DursEvent variants that don't concern your module.
-                            },
-                            _ => {} // Do nothing for DursMsgContent variants that don't concern your module.
+                                _ => {} // Do nothing for events that don't concern this module.
+                            }
                         }
-                    }
-                    GvaMsg::GvaThreadMsg(ref _child_thread_msg) => {
-                        // Do something when receive a message from child thread.
-                    }
+                        _ => {} // Do nothing for DursEvent variants that don't concern this module.
+                    },
+                    _ => {} // Do nothing for DursMsgContent variants that don't concern this module.
                 },
                 Err(e) => match e {
                     mpsc::RecvTimeoutError::Disconnected => {
                         fatal_error!("Disconnected gva module !");
                     }
                     mpsc::RecvTimeoutError::Timeout => {
-                        // If you arrive here it's because your main thread did not receive anything at the end of the timeout.
+                        // If you arrive here it's because this main thread did not receive anything at the end of the timeout.
                         // This is quite normal and happens regularly when there is little activity, there is nothing particular to do.
                     }
                 },
             }
-            // If you want your module's main thread to do things even when it doesn't receive any messages, this is the place where it can do them.
-            // ...
         }
         // If we reach this point it means that the module has stopped correctly, so we return OK.
         Ok(())
-- 
GitLab