diff --git a/common/net/daybreak_connection.cpp b/common/net/daybreak_connection.cpp index 1cdcc23ea..a8f255088 100644 --- a/common/net/daybreak_connection.cpp +++ b/common/net/daybreak_connection.cpp @@ -272,7 +272,7 @@ EQ::Net::DaybreakConnection::DaybreakConnection(DaybreakConnectionManager *owner m_encode_passes[1] = owner->m_options.encode_passes[1]; m_hold_time = Clock::now(); m_buffered_packets_length = 0; - m_resend_delay = m_owner->m_options.resend_delay_ms; + m_resend_delay = m_owner->m_options.resend_delay_ms + 25; m_rolling_ping = 100; m_combined.reset(new char[512]); m_combined[0] = 0; @@ -295,7 +295,7 @@ EQ::Net::DaybreakConnection::DaybreakConnection(DaybreakConnectionManager *owner m_crc_bytes = 0; m_hold_time = Clock::now(); m_buffered_packets_length = 0; - m_resend_delay = m_owner->m_options.resend_delay_ms; + m_resend_delay = m_owner->m_options.resend_delay_ms + 25; m_rolling_ping = 100; m_combined.reset(new char[512]); m_combined[0] = 0; @@ -356,8 +356,8 @@ void EQ::Net::DaybreakConnection::Process() { try { m_resend_delay = (size_t)(m_stats.last_stat_ping * m_owner->m_options.resend_delay_factor) + m_owner->m_options.resend_delay_ms; - if (m_resend_delay > 1000) { - m_resend_delay = 1000; + if (m_resend_delay > 500) { + m_resend_delay = 500; } auto now = Clock::now(); @@ -999,7 +999,7 @@ void EQ::Net::DaybreakConnection::ProcessResend(int stream) } } else { - if ((size_t)time_since_last_send.count() > std::min(m_resend_delay / (entry.second.times_resent + 1), (size_t)5ULL)) { + if ((size_t)time_since_last_send.count() > m_resend_delay) { InternalBufferedSend(entry.second.packet); entry.second.last_sent = now; entry.second.times_resent++; @@ -1225,6 +1225,7 @@ void EQ::Net::DaybreakConnection::InternalQueuePacket(Packet &p, int stream_id, } InternalBufferedSend(p); + return; } auto stream = &m_streams[stream_id]; diff --git a/common/net/daybreak_connection.h b/common/net/daybreak_connection.h index 8f0d9410d..bc48052b3 100644 --- a/common/net/daybreak_connection.h +++ b/common/net/daybreak_connection.h @@ -218,7 +218,7 @@ namespace EQ DaybreakConnectionManagerOptions() { max_connection_count = 0; keepalive_delay_ms = 9000; - resend_delay_ms = 25; + resend_delay_ms = 50; resend_delay_factor = 1.5; stats_delay_ms = 9000; connect_delay_ms = 250; diff --git a/common/net/eqstream.cpp b/common/net/eqstream.cpp index 31c8f43ac..950e0e2e4 100644 --- a/common/net/eqstream.cpp +++ b/common/net/eqstream.cpp @@ -85,12 +85,7 @@ void EQ::Net::EQStream::QueuePacket(const EQApplicationPacket *p, bool ack_req) break; } - if (!ack_req) { - m_connection->QueuePacket(out, 0, false); - } - else { - m_connection->QueuePacket(out); - } + m_connection->QueuePacket(out); } }