parazyd 2 лет назад
Родитель
Сommit
509d9bf0d4

+ 4 - 4
bin/darkfid/src/utils.rs

@@ -23,7 +23,7 @@ use smol::{fs::read_to_string, Executor};
 use structopt_toml::StructOptToml;
 
 use darkfi::{
-    net::{P2p, P2pPtr, Settings, SESSION_NET},
+    net::{session::SESSION_DEFAULT, P2p, P2pPtr, Settings},
     rpc::jsonrpc::JsonSubscriber,
     util::path::get_config_path,
     validator::ValidatorPtr,
@@ -48,7 +48,7 @@ pub async fn spawn_p2p(
 
     let _validator = validator.clone();
     registry
-        .register(SESSION_NET, move |channel, _p2p| {
+        .register(SESSION_DEFAULT, move |channel, _p2p| {
             let validator = _validator.clone();
             async move { ProtocolSync::init(channel, validator).await.unwrap() }
         })
@@ -57,7 +57,7 @@ pub async fn spawn_p2p(
     let _validator = validator.clone();
     let _subscriber = subscribers.get("proposals").unwrap().clone();
     registry
-        .register(SESSION_NET, move |channel, p2p| {
+        .register(SESSION_DEFAULT, move |channel, p2p| {
             let validator = _validator.clone();
             let subscriber = _subscriber.clone();
             async move {
@@ -71,7 +71,7 @@ pub async fn spawn_p2p(
     let _validator = validator.clone();
     let _subscriber = subscribers.get("txs").unwrap().clone();
     registry
-        .register(SESSION_NET, move |channel, p2p| {
+        .register(SESSION_DEFAULT, move |channel, p2p| {
             let validator = _validator.clone();
             let subscriber = _subscriber.clone();
             async move { ProtocolTx::init(channel, validator, p2p, subscriber).await.unwrap() }

+ 2 - 2
bin/darkirc/src/main.rs

@@ -20,7 +20,7 @@ use std::{collections::HashSet, sync::Arc};
 use darkfi::{
     async_daemonize, cli_desc,
     event_graph::{proto::ProtocolEventGraph, EventGraph, EventGraphPtr},
-    net::{settings::SettingsOpt, P2p, P2pPtr, SESSION_NET},
+    net::{session::SESSION_DEFAULT, settings::SettingsOpt, P2p, P2pPtr},
     rpc::{
         jsonrpc::JsonSubscriber,
         server::{listen_and_serve, RequestHandler},
@@ -200,7 +200,7 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
     let event_graph_ = Arc::clone(&event_graph);
     let registry = p2p.protocol_registry();
     registry
-        .register(SESSION_NET, move |channel, _| {
+        .register(SESSION_DEFAULT, move |channel, _| {
             let event_graph_ = event_graph_.clone();
             async move { ProtocolEventGraph::init(event_graph_, channel).await.unwrap() }
         })

+ 2 - 2
bin/genev/genevd/src/main.rs

@@ -21,7 +21,7 @@ use std::sync::{Arc, OnceLock};
 use darkfi::{
     async_daemonize, cli_desc,
     event_graph::{proto::ProtocolEventGraph, EventGraph, EventGraphPtr, NULL_ID},
-    net::{settings::SettingsOpt, P2p, SESSION_NET},
+    net::{session::SESSION_DEFAULT, settings::SettingsOpt, P2p},
     rpc::{
         jsonrpc::JsonSubscriber,
         server::{listen_and_serve, RequestHandler},
@@ -112,7 +112,7 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
     let event_graph_ = Arc::clone(&event_graph);
     let registry = p2p.protocol_registry();
     registry
-        .register(SESSION_NET, move |channel, _| {
+        .register(SESSION_DEFAULT, move |channel, _| {
             let event_graph_ = event_graph_.clone();
             async move { ProtocolEventGraph::init(event_graph_, channel).await.unwrap() }
         })

+ 2 - 2
bin/tau/taud/src/main.rs

@@ -48,7 +48,7 @@ use darkfi::{
         proto::{EventPut, ProtocolEventGraph},
         Event, EventGraph, EventGraphPtr, NULL_ID,
     },
-    net::{P2p, P2pPtr, SESSION_NET},
+    net::{session::SESSION_DEFAULT, P2p, P2pPtr},
     rpc::{
         jsonrpc::JsonSubscriber,
         server::{listen_and_serve, RequestHandler},
@@ -362,7 +362,7 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
     let event_graph_ = Arc::clone(&event_graph);
     let registry = p2p.protocol_registry();
     registry
-        .register(SESSION_NET, move |channel, _| {
+        .register(SESSION_DEFAULT, move |channel, _| {
             let event_graph_ = event_graph_.clone();
             async move { ProtocolEventGraph::init(event_graph_, channel).await.unwrap() }
         })

+ 2 - 2
src/event_graph/tests.rs

@@ -30,7 +30,7 @@ use crate::{
         proto::{EventPut, ProtocolEventGraph},
         Event, EventGraph,
     },
-    net::{P2p, Settings, SESSION_NET},
+    net::{session::SESSION_DEFAULT, P2p, Settings},
     system::sleep,
 };
 
@@ -98,7 +98,7 @@ async fn spawn_node(
     // Register the P2P protocols
     let registry = p2p.protocol_registry();
     registry
-        .register(SESSION_NET, move |channel, _| {
+        .register(SESSION_DEFAULT, move |channel, _| {
             let event_graph_ = event_graph_.clone();
             async move { ProtocolEventGraph::init(event_graph_, channel).await.unwrap() }
         })

+ 6 - 3
src/net/channel.rs

@@ -42,7 +42,7 @@ use super::{
     message::Packet,
     message_subscriber::{MessageSubscription, MessageSubsystem},
     p2p::P2pPtr,
-    session::{Session, SessionBitFlag, SessionWeakPtr, SESSION_NET},
+    session::{Session, SessionBitFlag, SessionWeakPtr, SESSION_ALL, SESSION_REFINE},
     transport::PtStream,
 };
 use crate::{
@@ -188,7 +188,7 @@ impl Channel {
 
         // Catch failure and stop channel, return a net error
         if let Err(e) = self.send_message(message).await {
-            if self.session.upgrade().unwrap().type_id() == SESSION_NET {
+            if self.session.upgrade().unwrap().type_id() & (SESSION_ALL & !SESSION_REFINE) != 0 {
                 error!(
                     target: "net::channel::send()", "[P2P] Channel send error for [{:?}]: {}",
                     self, e
@@ -279,7 +279,10 @@ impl Channel {
                             "[P2P] Channel inbound connection {} disconnected",
                             self.address(),
                         );
-                    } else if self.session.upgrade().unwrap().type_id() == SESSION_NET {
+                    } else if self.session.upgrade().unwrap().type_id() &
+                        (SESSION_ALL & !SESSION_REFINE) !=
+                        0
+                    {
                         error!(
                             target: "net::channel::main_receive_loop()",
                             "[P2P] Read error on channel {}: {}",

+ 0 - 1
src/net/mod.rs

@@ -104,7 +104,6 @@ pub use protocol::{
 /// the first time. Implements the `Session` trait which describes the
 /// common functions across all sessions.
 pub mod session;
-pub use session::SESSION_NET;
 
 /// Handles the acceptance of inbound socket connections.
 /// Used to start listening on a local socket, to accept incoming connections,

+ 2 - 2
src/net/protocol/mod.rs

@@ -18,7 +18,7 @@
 
 use super::{
     p2p::P2pPtr,
-    session::{SESSION_DEFAULT, SESSION_NET, SESSION_SEED},
+    session::{SESSION_DEFAULT, SESSION_SEED},
 };
 
 /// Manages the tasks for the network protocol. Used by other connection
@@ -75,7 +75,7 @@ pub mod protocol_registry;
 /// Register the default network protocols for a p2p instance.
 pub async fn register_default_protocols(p2p: P2pPtr) {
     let registry = p2p.protocol_registry();
-    registry.register(SESSION_NET, ProtocolPing::init).await;
+    registry.register(SESSION_DEFAULT | SESSION_SEED, ProtocolPing::init).await;
     registry.register(SESSION_DEFAULT, ProtocolAddress::init).await;
     registry.register(SESSION_SEED, ProtocolSeed::init).await;
 }

+ 1 - 3
src/net/session/mod.rs

@@ -47,10 +47,8 @@ pub const SESSION_MANUAL: SessionBitFlag = 0b00100;
 pub const SESSION_SEED: SessionBitFlag = 0b01000;
 pub const SESSION_REFINE: SessionBitFlag = 0b10000;
 
-// Equivalent to !SESSION_REFINE.
-pub const SESSION_NET: SessionBitFlag = 0b01111;
-// Equivalent to !SESSION_REFINE & !SESSION_SEED.
 pub const SESSION_DEFAULT: SessionBitFlag = 0b00111;
+pub const SESSION_ALL: SessionBitFlag = 0b11111;
 
 pub type SessionWeakPtr = Weak<dyn Session + Send + Sync + 'static>;