Просмотр исходного кода

channel: add start_time to ChannelInfo

draoi 2 лет назад
Родитель
Сommit
a5c93b8f82
2 измененных файлов с 5 добавлено и 4 удалено
  1. 0 1
      doc/src/arch/p2p-network.md
  2. 5 3
      src/net/channel.rs

+ 0 - 1
doc/src/arch/p2p-network.md

@@ -303,5 +303,4 @@ user-defined types.
 
 TODO:
 * implement `ScoringSubsystem`, `AbstractComputer`, and `Controller`.
-* add Channel start time timestamp to ChannelInfo
 

+ 5 - 3
src/net/channel.rs

@@ -59,12 +59,13 @@ pub type ChannelPtr = Arc<Channel>;
 pub struct ChannelInfo {
     pub resolve_addr: Option<Url>,
     pub connect_addr: Url,
+    pub start_time: u64,
     pub id: u32,
 }
 
 impl ChannelInfo {
-    fn new(resolve_addr: Option<Url>, connect_addr: Url) -> Self {
-        Self { resolve_addr, connect_addr, id: OsRng.gen() }
+    fn new(resolve_addr: Option<Url>, connect_addr: Url, start_time: u64) -> Self {
+        Self { resolve_addr, connect_addr, start_time, id: OsRng.gen() }
     }
 }
 
@@ -110,7 +111,8 @@ impl Channel {
         Self::setup_dispatchers(&message_subsystem).await;
 
         let version = Mutex::new(None);
-        let info = ChannelInfo::new(resolve_addr, connect_addr.clone());
+        let start_time = UNIX_EPOCH.elapsed().unwrap().as_secs();
+        let info = ChannelInfo::new(resolve_addr, connect_addr.clone(), start_time);
 
         Arc::new(Self {
             reader,