Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(634)

Side by Side Diff: net/quic/quic_packet_generator.cc

Issue 969443002: Deprecating FLAGS_quic_attach_ack_notifiers_to_packets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Remove_RevertRetransmissionTimeout_86651704
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_packet_generator.h" 5 #include "net/quic/quic_packet_generator.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "net/quic/quic_ack_notifier.h" 9 #include "net/quic/quic_ack_notifier.h"
10 #include "net/quic/quic_fec_group.h" 10 #include "net/quic/quic_fec_group.h"
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 int frames_created = 0; 165 int frames_created = 0;
166 while (delegate_->ShouldGeneratePacket( 166 while (delegate_->ShouldGeneratePacket(
167 NOT_RETRANSMISSION, HAS_RETRANSMITTABLE_DATA, 167 NOT_RETRANSMISSION, HAS_RETRANSMITTABLE_DATA,
168 has_handshake ? IS_HANDSHAKE : NOT_HANDSHAKE)) { 168 has_handshake ? IS_HANDSHAKE : NOT_HANDSHAKE)) {
169 QuicFrame frame; 169 QuicFrame frame;
170 size_t bytes_consumed = packet_creator_.CreateStreamFrame( 170 size_t bytes_consumed = packet_creator_.CreateStreamFrame(
171 id, data, offset + total_bytes_consumed, fin, &frame); 171 id, data, offset + total_bytes_consumed, fin, &frame);
172 ++frames_created; 172 ++frames_created;
173 173
174 // We want to track which packet this stream frame ends up in. 174 // We want to track which packet this stream frame ends up in.
175 if (FLAGS_quic_attach_ack_notifiers_to_packets) { 175 if (notifier != nullptr) {
176 if (notifier != nullptr) { 176 ack_notifiers_.push_back(notifier);
177 ack_notifiers_.push_back(notifier);
178 }
179 } else {
180 frame.stream_frame->notifier = notifier;
181 } 177 }
182 178
183 if (!AddFrame(frame)) { 179 if (!AddFrame(frame)) {
184 LOG(DFATAL) << "Failed to add stream frame."; 180 LOG(DFATAL) << "Failed to add stream frame.";
185 // Inability to add a STREAM frame creates an unrecoverable hole in a 181 // Inability to add a STREAM frame creates an unrecoverable hole in a
186 // the stream, so it's best to close the connection. 182 // the stream, so it's best to close the connection.
187 delegate_->CloseConnection(QUIC_INTERNAL_ERROR, false); 183 delegate_->CloseConnection(QUIC_INTERNAL_ERROR, false);
188 delete notifier; 184 delete notifier;
189 return QuicConsumedData(0, false); 185 return QuicConsumedData(0, false);
190 } 186 }
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 debug_delegate_->OnFrameAddedToPacket(frame); 389 debug_delegate_->OnFrameAddedToPacket(frame);
394 } 390 }
395 return success; 391 return success;
396 } 392 }
397 393
398 void QuicPacketGenerator::SerializeAndSendPacket() { 394 void QuicPacketGenerator::SerializeAndSendPacket() {
399 SerializedPacket serialized_packet = packet_creator_.SerializePacket(); 395 SerializedPacket serialized_packet = packet_creator_.SerializePacket();
400 DCHECK(serialized_packet.packet); 396 DCHECK(serialized_packet.packet);
401 397
402 // There may be AckNotifiers interested in this packet. 398 // There may be AckNotifiers interested in this packet.
403 if (FLAGS_quic_attach_ack_notifiers_to_packets) { 399 serialized_packet.notifiers.swap(ack_notifiers_);
404 serialized_packet.notifiers.swap(ack_notifiers_); 400 ack_notifiers_.clear();
405 ack_notifiers_.clear();
406 }
407 401
408 delegate_->OnSerializedPacket(serialized_packet); 402 delegate_->OnSerializedPacket(serialized_packet);
409 MaybeSendFecPacketAndCloseGroup(/*force=*/false); 403 MaybeSendFecPacketAndCloseGroup(/*force=*/false);
410 404
411 // The packet has now been serialized, so the frames are no longer queued. 405 // The packet has now been serialized, so the frames are no longer queued.
412 ack_queued_ = false; 406 ack_queued_ = false;
413 stop_waiting_queued_ = false; 407 stop_waiting_queued_ = false;
414 } 408 }
415 409
416 void QuicPacketGenerator::StopSendingVersion() { 410 void QuicPacketGenerator::StopSendingVersion() {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 packet_creator_.set_connection_id_length(PACKET_8BYTE_CONNECTION_ID); 452 packet_creator_.set_connection_id_length(PACKET_8BYTE_CONNECTION_ID);
459 } 453 }
460 } 454 }
461 455
462 456
463 void QuicPacketGenerator::set_encryption_level(EncryptionLevel level) { 457 void QuicPacketGenerator::set_encryption_level(EncryptionLevel level) {
464 packet_creator_.set_encryption_level(level); 458 packet_creator_.set_encryption_level(level);
465 } 459 }
466 460
467 } // namespace net 461 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698