From ec2229471d4f7e9d10cee41c25ba544c59dc84a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 23 Jul 2023 16:25:37 +0200 Subject: Network: request service ref data if needed --- src/network.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/network.cpp b/src/network.cpp index 305f073..cd13bc4 100644 --- a/src/network.cpp +++ b/src/network.cpp @@ -642,18 +642,19 @@ void Server::Priv::handlePacket(Server::Peer & peer, const TransportHeader & hea if (!serviceType) break; - if (auto pref = std::get(item.value)) { - shared_ptr wref(new WaitingRef { - .storage = peer.tempStorage, + auto pref = std::get(item.value); + if (pref) + reply.header({ TransportHeader::Type::Acknowledged, pref }); + + shared_ptr wref(new WaitingRef { + .storage = peer.tempStorage, .ref = pref, .peer = peer, .missing = {}, - }); - waiting.push_back(wref); - peer.serviceQueue.emplace_back(*serviceType, wref); - reply.header({ TransportHeader::Type::Acknowledged, pref }); - wref->check(reply); - } + }); + waiting.push_back(wref); + peer.serviceQueue.emplace_back(*serviceType, wref); + wref->check(reply); } } } -- cgit v1.2.3