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

Unified Diff: net/quic/quic_spdy_stream.cc

Issue 2093553004: Reduce SpdyHeaderBlock copies with move semantics in shared code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove non-shared files (into a separate CL). Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_spdy_stream.h ('k') | net/quic/quic_spdy_stream_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_)) {
« no previous file with comments | « net/quic/quic_spdy_stream.h ('k') | net/quic/quic_spdy_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698