Explorar o código

map: made NodeInfo seperate crate

lunar-mining %!s(int64=4) %!d(string=hai) anos
pai
achega
7c84dcb8f8
Modificáronse 4 ficheiros con 11 adicións e 39 borrados
  1. 1 4
      bin/map/src/app.rs
  2. 2 26
      bin/map/src/info_list.rs
  3. 1 0
      bin/map/src/lib.rs
  4. 7 9
      bin/map/src/main.rs

+ 1 - 4
bin/map/src/app.rs

@@ -1,7 +1,4 @@
-use crate::{
-    id_list::IdList,
-    info_list::{NodeInfo, InfoList},
-};
+use crate::{id_list::IdList, info_list::InfoList, node_info::NodeInfo};
 //use smol::Timer;
 //use std::{collections::HashMap, time::Duration};
 

+ 2 - 26
bin/map/src/info_list.rs

@@ -1,3 +1,5 @@
+use crate::node_info::NodeInfo;
+
 #[derive(Clone)]
 pub struct InfoList {
     pub index: usize,
@@ -23,29 +25,3 @@ impl InfoList {
         }
     }
 }
-
-#[derive(Clone)]
-pub struct NodeInfo {
-    pub id: String,
-    pub connections: usize,
-    pub is_active: bool,
-    pub last_message: String,
-}
-
-impl NodeInfo {
-    pub fn new() -> NodeInfo {
-        let connections = 0;
-        let is_active = false;
-        NodeInfo { id: String::new(), connections, is_active, last_message: String::new() }
-    }
-}
-
-impl Default for NodeInfo {
-    fn default() -> Self {
-        Self::new()
-    }
-}
-
-//pub async fn add_seen(&self, id: u32) {
-//    self.privmsg_ids.lock().await.insert(id);
-//}

+ 1 - 0
bin/map/src/lib.rs

@@ -1,6 +1,7 @@
 pub mod app;
 pub mod id_list;
 pub mod info_list;
+pub mod node_info;
 pub mod types;
 pub mod ui;
 

+ 7 - 9
bin/map/src/main.rs

@@ -20,7 +20,7 @@ use tui::{
     Terminal,
 };
 
-use map::{info_list::NodeInfo, ui, App};
+use map::{node_info::NodeInfo, ui, App};
 
 struct Map {
     url: String,
@@ -120,14 +120,12 @@ async fn poll(client: Map, app: App) -> Result<()> {
             let node2 = &nodes[1];
             let node3 = &nodes[2];
 
-            let infos = vec![
-                NodeInfo {
-                    id: node1["id"].to_string(),
-                    connections: node1["connections"].as_u64().unwrap() as usize,
-                    is_active: node2["is_active"].as_bool().unwrap(),
-                    last_message: node3["message"].to_string(),
-                },
-            ];
+            let infos = vec![NodeInfo {
+                id: node1["id"].to_string(),
+                connections: node1["connections"].as_u64().unwrap() as usize,
+                is_active: node2["is_active"].as_bool().unwrap(),
+                last_message: node3["message"].to_string(),
+            }];
 
             app.clone().update(infos).await;
         } else {