| Index: net/quic/quic_spdy_stream.cc
|
| diff --git a/net/quic/quic_spdy_stream.cc b/net/quic/quic_spdy_stream.cc
|
| index f1a21d4e8dc568c295117ecb3c7bbceecab0e2f3..d0af94d2bbca2aa8f25722b8a5e1438919ae86c7 100644
|
| --- a/net/quic/quic_spdy_stream.cc
|
| +++ b/net/quic/quic_spdy_stream.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "net/quic/quic_spdy_stream.h"
|
|
|
| +#include <utility>
|
| +
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "net/quic/quic_bug_tracker.h"
|
| @@ -68,11 +70,11 @@ void QuicSpdyStream::StopReading() {
|
| }
|
|
|
| size_t QuicSpdyStream::WriteHeaders(
|
| - const SpdyHeaderBlock& header_block,
|
| + SpdyHeaderBlock header_block,
|
| bool fin,
|
| QuicAckListenerInterface* ack_notifier_delegate) {
|
| size_t bytes_written = spdy_session_->WriteHeaders(
|
| - id(), header_block, fin, priority_, ack_notifier_delegate);
|
| + id(), std::move(header_block), fin, priority_, ack_notifier_delegate);
|
| if (fin) {
|
| // TODO(rch): Add test to ensure fin_sent_ is set whenever a fin is sent.
|
| set_fin_sent(true);
|
| @@ -89,7 +91,7 @@ void QuicSpdyStream::WriteOrBufferBody(
|
| }
|
|
|
| size_t QuicSpdyStream::WriteTrailers(
|
| - const SpdyHeaderBlock& trailer_block,
|
| + SpdyHeaderBlock trailer_block,
|
| QuicAckListenerInterface* ack_notifier_delegate) {
|
| if (fin_sent()) {
|
| QUIC_BUG << "Trailers cannot be sent after a FIN.";
|
| @@ -100,8 +102,7 @@ size_t QuicSpdyStream::WriteTrailers(
|
| // trailers may be processed out of order at the peer.
|
| DVLOG(1) << "Inserting trailer: (" << kFinalOffsetHeaderKey << ", "
|
| << stream_bytes_written() + queued_data_bytes() << ")";
|
| - SpdyHeaderBlock trailer_block_with_offset(trailer_block);
|
| - trailer_block_with_offset.insert(std::make_pair(
|
| + trailer_block.insert(std::make_pair(
|
| kFinalOffsetHeaderKey,
|
| base::IntToString(stream_bytes_written() + queued_data_bytes())));
|
|
|
| @@ -109,7 +110,7 @@ size_t QuicSpdyStream::WriteTrailers(
|
| // trailers are the last thing to be sent on a stream.
|
| const bool kFin = true;
|
| size_t bytes_written = spdy_session_->WriteHeaders(
|
| - id(), trailer_block_with_offset, kFin, priority_, ack_notifier_delegate);
|
| + id(), std::move(trailer_block), kFin, priority_, ack_notifier_delegate);
|
| set_fin_sent(kFin);
|
|
|
| // Trailers are the last thing to be sent on a stream, but if there is still
|
| @@ -279,7 +280,6 @@ void QuicSpdyStream::OnTrailingHeadersComplete(bool fin, size_t /*frame_len*/) {
|
| }
|
|
|
| size_t final_byte_offset = 0;
|
| - SpdyHeaderBlock trailers;
|
| if (!SpdyUtils::ParseTrailers(decompressed_trailers().data(),
|
| decompressed_trailers().length(),
|
| &final_byte_offset, &received_trailers_)) {
|
|
|