OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |