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

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

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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_packet_creator.h ('k') | net/quic/quic_packet_creator_test.cc » ('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_creator.h" 5 #include "net/quic/quic_packet_creator.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/crypto/quic_random.h" 9 #include "net/quic/crypto/quic_random.h"
10 #include "net/quic/quic_ack_notifier.h" 10 #include "net/quic/quic_ack_notifier.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // Assumes this is a stream with a single lone packet. 224 // Assumes this is a stream with a single lone packet.
225 QuicFramer::GetMinStreamFrameSize(1u, offset, true, is_in_fec_group); 225 QuicFramer::GetMinStreamFrameSize(1u, offset, true, is_in_fec_group);
226 } 226 }
227 227
228 size_t QuicPacketCreator::CreateStreamFrame(QuicStreamId id, 228 size_t QuicPacketCreator::CreateStreamFrame(QuicStreamId id,
229 const IOVector& data, 229 const IOVector& data,
230 QuicStreamOffset offset, 230 QuicStreamOffset offset,
231 bool fin, 231 bool fin,
232 QuicFrame* frame) { 232 QuicFrame* frame) {
233 DCHECK_GT(max_packet_length_, StreamFramePacketOverhead( 233 DCHECK_GT(max_packet_length_, StreamFramePacketOverhead(
234 PACKET_8BYTE_CONNECTION_ID, kIncludeVersion, 234 connection_id_length_, kIncludeVersion,
235 PACKET_6BYTE_SEQUENCE_NUMBER, offset, IN_FEC_GROUP)); 235 PACKET_6BYTE_SEQUENCE_NUMBER, offset, IN_FEC_GROUP));
236 236
237 InFecGroup is_in_fec_group = MaybeUpdateLengthsAndStartFec(); 237 InFecGroup is_in_fec_group = MaybeUpdateLengthsAndStartFec();
238 238
239 LOG_IF(DFATAL, !HasRoomForStreamFrame(id, offset)) 239 LOG_IF(DFATAL, !HasRoomForStreamFrame(id, offset))
240 << "No room for Stream frame, BytesFree: " << BytesFree() 240 << "No room for Stream frame, BytesFree: " << BytesFree()
241 << " MinStreamFrameSize: " 241 << " MinStreamFrameSize: "
242 << QuicFramer::GetMinStreamFrameSize(id, offset, true, is_in_fec_group); 242 << QuicFramer::GetMinStreamFrameSize(id, offset, true, is_in_fec_group);
243 243
244 if (data.Empty()) { 244 if (data.Empty()) {
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 framer_->BuildVersionNegotiationPacket(header, supported_versions); 443 framer_->BuildVersionNegotiationPacket(header, supported_versions);
444 DCHECK(encrypted); 444 DCHECK(encrypted);
445 DCHECK_GE(max_packet_length_, encrypted->length()); 445 DCHECK_GE(max_packet_length_, encrypted->length());
446 return encrypted; 446 return encrypted;
447 } 447 }
448 448
449 void QuicPacketCreator::FillPacketHeader(QuicFecGroupNumber fec_group, 449 void QuicPacketCreator::FillPacketHeader(QuicFecGroupNumber fec_group,
450 bool fec_flag, 450 bool fec_flag,
451 QuicPacketHeader* header) { 451 QuicPacketHeader* header) {
452 header->public_header.connection_id = connection_id_; 452 header->public_header.connection_id = connection_id_;
453 header->public_header.connection_id_length = connection_id_length_;
453 header->public_header.reset_flag = false; 454 header->public_header.reset_flag = false;
454 header->public_header.version_flag = send_version_in_packet_; 455 header->public_header.version_flag = send_version_in_packet_;
455 header->fec_flag = fec_flag; 456 header->fec_flag = fec_flag;
456 header->packet_sequence_number = ++sequence_number_; 457 header->packet_sequence_number = ++sequence_number_;
457 header->public_header.sequence_number_length = sequence_number_length_; 458 header->public_header.sequence_number_length = sequence_number_length_;
458 header->entropy_flag = random_bool_source_->RandBool(); 459 header->entropy_flag = random_bool_source_->RandBool();
459 header->is_in_fec_group = fec_group == 0 ? NOT_IN_FEC_GROUP : IN_FEC_GROUP; 460 header->is_in_fec_group = fec_group == 0 ? NOT_IN_FEC_GROUP : IN_FEC_GROUP;
460 header->fec_group = fec_group; 461 header->fec_group = fec_group;
461 } 462 }
462 463
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 if (BytesFree() == 0) { 514 if (BytesFree() == 0) {
514 // Don't pad full packets. 515 // Don't pad full packets.
515 return; 516 return;
516 } 517 }
517 QuicPaddingFrame padding; 518 QuicPaddingFrame padding;
518 bool success = AddFrame(QuicFrame(&padding), false); 519 bool success = AddFrame(QuicFrame(&padding), false);
519 DCHECK(success); 520 DCHECK(success);
520 } 521 }
521 522
522 } // namespace net 523 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_packet_creator.h ('k') | net/quic/quic_packet_creator_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698