From 642ba322c40f6b67bdec401b8465b53ed1ea980c Mon Sep 17 00:00:00 2001 From: staphen Date: Mon, 17 Nov 2025 21:12:46 -0500 Subject: [PATCH] Send echo request to update latency statistics every 5 seconds --- Source/dvlnet/base.cpp | 6 ++++++ Source/dvlnet/base.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Source/dvlnet/base.cpp b/Source/dvlnet/base.cpp index 9ecadbce9..3ebe2120e 100644 --- a/Source/dvlnet/base.cpp +++ b/Source/dvlnet/base.cpp @@ -226,6 +226,12 @@ tl::expected base::RecvLocal(packet &pkt) bool base::SNetReceiveMessage(uint8_t *sender, void **data, size_t *size) { + uint32_t now = SDL_GetTicks(); + if (now == 0) now++; + if (lastEchoTime == 0 || now - lastEchoTime > 5000) { + for (plr_t i = 0; i < Players.size(); i++) + SendEchoRequest(i); + } poll(); if (message_queue.empty()) return false; diff --git a/Source/dvlnet/base.h b/Source/dvlnet/base.h index 4144f3440..8c9ce96bb 100644 --- a/Source/dvlnet/base.h +++ b/Source/dvlnet/base.h @@ -90,6 +90,7 @@ protected: private: std::array playerStateTable_; bool awaitingSequenceNumber_ = true; + uint32_t lastEchoTime = 0; plr_t GetOwner(); bool AllTurnsArrived();