mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Fix for bug where packets were not combining when sent inside cwnd, altered some settings
This commit is contained in:
@@ -141,7 +141,7 @@ void EQ::Net::DaybreakConnectionManager::Process()
|
||||
connection->SendConnect();
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case StatusConnected: {
|
||||
if (m_options.keepalive_delay_ms != 0) {
|
||||
auto time_since_last_send = std::chrono::duration_cast<std::chrono::milliseconds>(now - connection->m_last_send);
|
||||
@@ -478,7 +478,7 @@ void EQ::Net::DaybreakConnection::ProcessOutboundQueue()
|
||||
|
||||
stream->outstanding_bytes += buff.sent.packet.Length();
|
||||
stream->outstanding_packets.insert(std::make_pair(buff.seq, buff.sent));
|
||||
InternalSend(buff.sent.packet);
|
||||
InternalBufferedSend(buff.sent.packet);
|
||||
stream->buffered_packets.pop_front();
|
||||
}
|
||||
}
|
||||
@@ -1133,7 +1133,7 @@ void EQ::Net::DaybreakConnection::BufferPacket(int stream, uint16_t seq, Daybrea
|
||||
|
||||
s->outstanding_bytes += sent.packet.Length();
|
||||
s->outstanding_packets.insert(std::make_pair(seq, sent));
|
||||
InternalSend(sent.packet);
|
||||
InternalBufferedSend(sent.packet);
|
||||
}
|
||||
|
||||
void EQ::Net::DaybreakConnection::SendAck(int stream_id, uint16_t seq)
|
||||
@@ -1187,6 +1187,10 @@ void EQ::Net::DaybreakConnection::InternalBufferedSend(Packet &p)
|
||||
FlushBuffer();
|
||||
}
|
||||
|
||||
if (m_buffered_packets.size() == 0) {
|
||||
m_hold_time = Clock::now();
|
||||
}
|
||||
|
||||
DynamicPacket copy;
|
||||
copy.PutPacket(0, p);
|
||||
m_buffered_packets.push_back(copy);
|
||||
|
||||
Reference in New Issue
Block a user