| 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 |