diff --git a/.gitignore b/.gitignore index 26881008..c775962e 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ dist ninja_build_release _builds _logs +.build diff --git a/src/protocol/gossip/gossip.cpp b/src/protocol/gossip/gossip.cpp index d696dda4..ccd9f75e 100644 --- a/src/protocol/gossip/gossip.cpp +++ b/src/protocol/gossip/gossip.cpp @@ -933,19 +933,11 @@ namespace libp2p::protocol::gossip { } peer->writing_ = true; auto peer_id = peer->peer_id_; - coroSpawn(*io_context_, [WEAK_SELF, peer, peer_id, logger = logger_]() -> Coro { + coroSpawn(*io_context_, [peer, peer_id, logger = logger_]() -> Coro { co_await coroYield(); assert(peer->writing_); assert(peer->stream_out_.has_value()); - while (true) { - auto self = weak_self.lock(); - if (not self) { - break; - } - auto message = qtils::optionTake(peer->batch_); - if (not message) { - break; - } + while (auto message = qtils::optionTake(peer->batch_)) { auto pb_messages = splitBatch(*message); SL_TRACE(logger, "CHECKWRITE sending {} PB messages to {}", pb_messages.size(), peer_id.toBase58());