From c2c967a6734c75ea6cb0ec8d192394ca17b45d92 Mon Sep 17 00:00:00 2001 From: zero Date: Mon, 8 Apr 2024 09:17:59 +0200 Subject: [PATCH] net: p2p.stop() calls channel.stop() on all channels --- src/net/p2p.rs | 5 +++++ src/net/session/outbound_session.rs | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/p2p.rs b/src/net/p2p.rs index 4c5573b6a..dd77d0de7 100644 --- a/src/net/p2p.rs +++ b/src/net/p2p.rs @@ -159,6 +159,11 @@ impl P2p { /// Stop the running P2P subsystem pub async fn stop(&self) { + // Stop all channels + for channel in self.hosts.channels().await { + channel.stop().await; + } + // Stop the sessions self.session_manual().stop().await; self.session_inbound().stop().await; diff --git a/src/net/session/outbound_session.rs b/src/net/session/outbound_session.rs index 8ce751ead..3db05104c 100644 --- a/src/net/session/outbound_session.rs +++ b/src/net/session/outbound_session.rs @@ -162,7 +162,6 @@ impl Slot { } async fn start(self: Arc) { - // TODO: way too many clones, look into making this implicit. See implicit-clone crate let ex = self.p2p().executor(); self.process.clone().start(