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

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

Issue 2847753002: Some changes to prepare for endian change for QUIC: 1) Make data reader/write be able to read/write… (Closed)
Patch Set: Created 3 years, 7 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
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/core/quic_packet_creator.h" 5 #include "net/quic/core/quic_packet_creator.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cstdint> 8 #include <cstdint>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 << queued_frames_.front().type 108 << queued_frames_.front().type
109 << " last frame type:" << queued_frames_.back().type; 109 << " last frame type:" << queued_frames_.back().type;
110 return; 110 return;
111 } 111 }
112 112
113 DCHECK_LE(least_packet_awaited_by_peer, packet_.packet_number + 1); 113 DCHECK_LE(least_packet_awaited_by_peer, packet_.packet_number + 1);
114 const QuicPacketNumber current_delta = 114 const QuicPacketNumber current_delta =
115 packet_.packet_number + 1 - least_packet_awaited_by_peer; 115 packet_.packet_number + 1 - least_packet_awaited_by_peer;
116 const uint64_t delta = std::max(current_delta, max_packets_in_flight); 116 const uint64_t delta = std::max(current_delta, max_packets_in_flight);
117 packet_.packet_number_length = 117 packet_.packet_number_length =
118 QuicFramer::GetMinSequenceNumberLength(delta * 4); 118 QuicFramer::GetMinPacketNumberLength(delta * 4);
119 } 119 }
120 120
121 bool QuicPacketCreator::ConsumeData(QuicStreamId id, 121 bool QuicPacketCreator::ConsumeData(QuicStreamId id,
122 QuicIOVector iov, 122 QuicIOVector iov,
123 size_t iov_offset, 123 size_t iov_offset,
124 QuicStreamOffset offset, 124 QuicStreamOffset offset,
125 bool fin, 125 bool fin,
126 bool needs_full_padding, 126 bool needs_full_padding,
127 QuicFrame* frame) { 127 QuicFrame* frame) {
128 if (!HasRoomForStreamFrame(id, offset)) { 128 if (!HasRoomForStreamFrame(id, offset)) {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 QuicStreamOffset stream_offset, 360 QuicStreamOffset stream_offset,
361 bool fin, 361 bool fin,
362 QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener, 362 QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener,
363 size_t* num_bytes_consumed) { 363 size_t* num_bytes_consumed) {
364 DCHECK(queued_frames_.empty()); 364 DCHECK(queued_frames_.empty());
365 // Write out the packet header 365 // Write out the packet header
366 QuicPacketHeader header; 366 QuicPacketHeader header;
367 FillPacketHeader(&header); 367 FillPacketHeader(&header);
368 QUIC_CACHELINE_ALIGNED char encrypted_buffer[kMaxPacketSize]; 368 QUIC_CACHELINE_ALIGNED char encrypted_buffer[kMaxPacketSize];
369 QuicDataWriter writer(arraysize(encrypted_buffer), encrypted_buffer, 369 QuicDataWriter writer(arraysize(encrypted_buffer), encrypted_buffer,
370 framer_->perspective()); 370 framer_->perspective(), HOST_BYTE_ORDER);
371 if (!framer_->AppendPacketHeader(header, &writer)) { 371 if (!framer_->AppendPacketHeader(header, &writer)) {
372 QUIC_BUG << "AppendPacketHeader failed"; 372 QUIC_BUG << "AppendPacketHeader failed";
373 return; 373 return;
374 } 374 }
375 375
376 // Create a Stream frame with the remaining space. 376 // Create a Stream frame with the remaining space.
377 QUIC_BUG_IF(iov_offset == iov.total_length && !fin) 377 QUIC_BUG_IF(iov_offset == iov.total_length && !fin)
378 << "Creating a stream frame with no data or fin."; 378 << "Creating a stream frame with no data or fin.";
379 const size_t remaining_data_size = iov.total_length - iov_offset; 379 const size_t remaining_data_size = iov.total_length - iov_offset;
380 const size_t min_frame_size = QuicFramer::GetMinStreamFrameSize( 380 const size_t min_frame_size = QuicFramer::GetMinStreamFrameSize(
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 bool QuicPacketCreator::IncludeNonceInPublicHeader() { 657 bool QuicPacketCreator::IncludeNonceInPublicHeader() {
658 return have_diversification_nonce_ && 658 return have_diversification_nonce_ &&
659 packet_.encryption_level == ENCRYPTION_INITIAL; 659 packet_.encryption_level == ENCRYPTION_INITIAL;
660 } 660 }
661 661
662 void QuicPacketCreator::AddPendingPadding(QuicByteCount size) { 662 void QuicPacketCreator::AddPendingPadding(QuicByteCount size) {
663 pending_padding_bytes_ += size; 663 pending_padding_bytes_ += size;
664 } 664 }
665 665
666 } // namespace net 666 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698