From eec66870833ecdd4e403153014244d9e81b2e186 Mon Sep 17 00:00:00 2001 From: KimLS Date: Fri, 14 Apr 2017 16:24:29 -0700 Subject: [PATCH] Modified default values a bit to be more agggressive --- common/net/daybreak_connection.cpp | 28 ++++++++++++---------------- common/net/daybreak_connection.h | 10 +++++----- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/common/net/daybreak_connection.cpp b/common/net/daybreak_connection.cpp index eb0b31a55..68fc24ad2 100644 --- a/common/net/daybreak_connection.cpp +++ b/common/net/daybreak_connection.cpp @@ -1026,7 +1026,7 @@ void EQ::Net::DaybreakConnection::ProcessResend(int stream) InternalBufferedSend(entry.second.packet); entry.second.last_sent = now; entry.second.times_resent++; - m_rolling_ping += 150; + m_rolling_ping += 100; } } else { @@ -1040,7 +1040,7 @@ void EQ::Net::DaybreakConnection::ProcessResend(int stream) InternalBufferedSend(entry.second.packet); entry.second.last_sent = now; entry.second.times_resent++; - m_rolling_ping += 150; + m_rolling_ping += 100; } } } @@ -1056,14 +1056,12 @@ void EQ::Net::DaybreakConnection::Ack(int stream, uint16_t seq) auto order = CompareSequence(seq, iter->first); if (order != SequenceFuture) { - if (iter->second.times_resent == 0) { - uint64_t round_time = (uint64_t)std::chrono::duration_cast(now - iter->second.last_sent).count(); + uint64_t round_time = (uint64_t)std::chrono::duration_cast(now - iter->second.last_sent).count(); - m_stats.max_ping = std::max(m_stats.max_ping, round_time); - m_stats.min_ping = std::min(m_stats.min_ping, round_time); - m_stats.last_ping = round_time; - m_rolling_ping = (m_rolling_ping * 2 + round_time) / 3; - } + m_stats.max_ping = std::max(m_stats.max_ping, round_time); + m_stats.min_ping = std::min(m_stats.min_ping, round_time); + m_stats.last_ping = round_time; + m_rolling_ping = (m_rolling_ping * 2 + round_time) / 3; iter = s->sent_packets.erase(iter); } @@ -1079,14 +1077,12 @@ void EQ::Net::DaybreakConnection::OutOfOrderAck(int stream, uint16_t seq) auto s = &m_streams[stream]; auto iter = s->sent_packets.find(seq); if (iter != s->sent_packets.end()) { - if (iter->second.times_resent == 0) { - uint64_t round_time = (uint64_t)std::chrono::duration_cast(now - iter->second.last_sent).count(); + uint64_t round_time = (uint64_t)std::chrono::duration_cast(now - iter->second.last_sent).count(); - m_stats.max_ping = std::max(m_stats.max_ping, round_time); - m_stats.min_ping = std::min(m_stats.min_ping, round_time); - m_stats.last_ping = round_time; - m_rolling_ping = (m_rolling_ping * 2 + round_time) / 3; - } + m_stats.max_ping = std::max(m_stats.max_ping, round_time); + m_stats.min_ping = std::min(m_stats.min_ping, round_time); + m_stats.last_ping = round_time; + m_rolling_ping = (m_rolling_ping * 2 + round_time) / 3; s->sent_packets.erase(iter); } diff --git a/common/net/daybreak_connection.h b/common/net/daybreak_connection.h index 2ca797440..409471589 100644 --- a/common/net/daybreak_connection.h +++ b/common/net/daybreak_connection.h @@ -205,10 +205,10 @@ namespace EQ DaybreakConnectionManagerOptions() { max_connection_count = 0; keepalive_delay_ms = 9000; - resend_delay_ms = 300; - resend_delay_factor = 1.3; - resend_delay_min = 100; - resend_delay_max = 2000; + resend_delay_ms = 150; + resend_delay_factor = 1.5; + resend_delay_min = 150; + resend_delay_max = 1000; connect_delay_ms = 500; stale_connection_ms = 90000; connect_stale_ms = 5000; @@ -217,7 +217,7 @@ namespace EQ encode_passes[0] = DaybreakEncodeType::EncodeNone; encode_passes[1] = DaybreakEncodeType::EncodeNone; port = 0; - hold_size = 384; + hold_size = 448; hold_length_ms = 10; simulated_in_packet_loss = 0; simulated_out_packet_loss = 0;