Эх сурвалжийг харах

net: change timer to 15 mins, name SESSION_OUTBOUND explicitly, add todos

lunar-mining 4 жил өмнө
parent
commit
578e5dc612

+ 2 - 0
src/net/p2p.rs

@@ -73,6 +73,7 @@ pub struct P2p {
 }
 
 impl P2p {
+    // TODO: documentation is unclear
     /// Create a new p2p network.
     pub async fn new(settings: Settings) -> Arc<Self> {
         let settings = Arc::new(settings);
@@ -146,6 +147,7 @@ impl P2p {
         self.session_outbound.lock().await.as_ref().unwrap().clone()
     }
 
+    // TODO: this documentation is wrong
     /// Synchronize the blockchain and then begin long running sessions,
     /// call after start() is invoked.
     pub async fn run(self: Arc<Self>, executor: Arc<Executor<'_>>) -> Result<()> {

+ 4 - 3
src/net/protocol/protocol_address.rs

@@ -9,12 +9,13 @@ use crate::{util::async_util, Result};
 
 use super::{
     super::{
-        message, message_subscriber::MessageSubscription, ChannelPtr, HostsPtr, P2pPtr, SettingsPtr,
+        message, message_subscriber::MessageSubscription, ChannelPtr, HostsPtr, P2pPtr,
+        SettingsPtr, SESSION_OUTBOUND,
     },
     ProtocolBase, ProtocolBasePtr, ProtocolJobsManager, ProtocolJobsManagerPtr,
 };
 
-const SEND_ADDR_SLEEP_SECONDS: u64 = 10;
+const SEND_ADDR_SLEEP_SECONDS: u64 = 900;
 
 /// Defines address and get-address messages.
 pub struct ProtocolAddress {
@@ -122,7 +123,7 @@ impl ProtocolBase for ProtocolAddress {
 
         // if it's an outbound session + has an external address
         // send our address
-        if type_id == 0b0010 && self.settings.external_addr.is_some() {
+        if type_id == SESSION_OUTBOUND && self.settings.external_addr.is_some() {
             self.jobsman.clone().start(executor.clone());
             self.jobsman
                 .clone()

+ 2 - 8
src/net/protocol/protocol_registry.rs

@@ -2,7 +2,7 @@ use async_std::sync::Mutex;
 use std::future::Future;
 
 use futures::future::BoxFuture;
-use log::{debug, warn};
+use log::debug;
 
 use super::{
     super::{session::SessionBitflag, ChannelPtr, P2pPtr},
@@ -49,19 +49,13 @@ impl ProtocolRegistry {
         for (session_flags, construct) in self.protocol_constructors.lock().await.iter() {
             // Skip protocols that are not registered for this session
             if selector_id & session_flags == 0 {
-                // debug
-                //warn!("Skipping {:?}, {:?}", selector_id, session_flags);
+                debug!("Skipping {selector_id:#b}, {session_flags:#b}");
                 continue
             }
 
             let protocol: ProtocolBasePtr = construct(channel.clone(), p2p.clone()).await;
             debug!(target: "net", "Attached {}", protocol.name());
 
-            // debug
-            //if protocol.name() == "ProtocolAddress" {
-            //    warn!("PROTOCOL ADDRESS ATTACHED");
-            //}
-
             protocols.push(protocol)
         }
         protocols

+ 1 - 0
src/net/settings.rs

@@ -8,6 +8,7 @@ use url::Url;
 /// Atomic pointer to network settings.
 pub type SettingsPtr = Arc<Settings>;
 
+// TODO: better documentation
 /// Defines the network settings.
 #[derive(Clone, Debug)]
 pub struct Settings {