From 9fcd31616e9bb2584c6f2702cabe792f4ef7ebdb Mon Sep 17 00:00:00 2001 From: momo5502 Date: Mon, 10 Jul 2017 18:31:48 +0200 Subject: [PATCH] [Session] Resend packets --- src/Components/Modules/Session.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Components/Modules/Session.cpp b/src/Components/Modules/Session.cpp index a8f4108f..a2e0852e 100644 --- a/src/Components/Modules/Session.cpp +++ b/src/Components/Modules/Session.cpp @@ -18,7 +18,26 @@ namespace Components void Session::Send(Network::Address target, std::string command, std::string data) { #ifdef DISABLE_SESSION + class DelayedResend + { + public: + Network::Address target; + std::string command; + std::string data; + }; + + DelayedResend* delayData = new DelayedResend; + delayData->target = target; + delayData->command = command; + delayData->data = data; + Network::SendCommand(target, command, data); + + Scheduler::OnDelay([delayData]() + { + Network::SendCommand(delayData->target, delayData->command, delayData->data); + delete delayData; + }, 500ms + std::chrono::milliseconds(rand() % 200)); #else std::lock_guard _(Session::Mutex);