| Index: net/tools/quic/quic_dispatcher.cc
|
| diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc
|
| index 0d558694418f84c74ddabd2696a2d179cfd53a7f..b43b8e1664fe6018ad07090588982f900da4e52d 100644
|
| --- a/net/tools/quic/quic_dispatcher.cc
|
| +++ b/net/tools/quic/quic_dispatcher.cc
|
| @@ -273,6 +273,12 @@ bool QuicDispatcher::OnUnauthenticatedPublicHeader(
|
| return false;
|
| }
|
|
|
| + if (FLAGS_quic_buffer_packets_after_chlo &&
|
| + buffered_packets_.HasChloForConnection(connection_id)) {
|
| + BufferEarlyPacket(connection_id);
|
| + return false;
|
| + }
|
| +
|
| if (!OnUnauthenticatedUnknownPublicHeader(header)) {
|
| return false;
|
| }
|
| @@ -692,7 +698,10 @@ void QuicDispatcher::ProcessChlo() {
|
| new_sessions_allowed_per_event_loop_ <= 0) {
|
| // Can't create new session any more. Wait till next event loop.
|
| if (!buffered_packets_.HasChloForConnection(current_connection_id_)) {
|
| - // Only buffer one CHLO per connection.
|
| + // Only buffer one CHLO per connection. Remove this condition check when
|
| + // --gfe2_reloadable_flag_quic_buffer_packets_after_chlo
|
| + // is deprecated because after that retransmitted CHLO should be buffered
|
| + // earlier in OnUnauthenticatedPublicHeader().
|
| bool is_new_connection =
|
| !buffered_packets_.HasBufferedPackets(current_connection_id_);
|
| EnqueuePacketResult rs = buffered_packets_.EnqueuePacket(
|
|
|