diff --git a/swarm/src/lib.rs b/swarm/src/lib.rs index 9b3972eab2a..4dd894d1094 100644 --- a/swarm/src/lib.rs +++ b/swarm/src/lib.rs @@ -765,7 +765,11 @@ where if let Some(mut conn) = peer.connection(conn_id) { if let Some(event) = notify_one(&mut conn, event, cx) { this.pending_event = Some((peer_id, handler, event)); - return Poll::Pending; + if network_not_ready { + return Poll::Pending; + } else { + continue; + } } } } @@ -775,7 +779,11 @@ where { let handler = PendingNotifyHandler::Any(ids); this.pending_event = Some((peer_id, handler, event)); - return Poll::Pending; + if network_not_ready { + return Poll::Pending; + } else { + continue; + } } } } @@ -843,7 +851,11 @@ where if let Some(event) = notify_one(&mut conn, event, cx) { let handler = PendingNotifyHandler::One(connection); this.pending_event = Some((peer_id, handler, event)); - return Poll::Pending; + if network_not_ready { + return Poll::Pending; + } else { + continue; + } } } } @@ -854,7 +866,11 @@ where { let handler = PendingNotifyHandler::Any(ids); this.pending_event = Some((peer_id, handler, event)); - return Poll::Pending; + if network_not_ready { + return Poll::Pending; + } else { + continue; + } } } }