summaryrefslogtreecommitdiffstats
path: root/net/tools/quic/quic_spdy_client_stream.h
diff options
context:
space:
mode:
authorjokulik <jokulik@chromium.org>2016-03-24 15:35:30 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-24 22:37:10 +0000
commitf2bd55c5ab99300b7df0a97b3d0ef16c9a2e584a (patch)
treea075e02a5d98fce698e53b975674271b17673b3b /net/tools/quic/quic_spdy_client_stream.h
parentef26d8f77ba056704780199893f1ebaf518136de (diff)
downloadchromium_src-f2bd55c5ab99300b7df0a97b3d0ef16c9a2e584a.zip
chromium_src-f2bd55c5ab99300b7df0a97b3d0ef16c9a2e584a.tar.gz
chromium_src-f2bd55c5ab99300b7df0a97b3d0ef16c9a2e584a.tar.bz2
Landing Recent QUIC changes until 3/18/2016 23:30 UTC
relnote: Add a QUIC end to end test of huge post. The test code has been added but is currently disabled, due to net_unittest timeout issues. Merge internal change: 117596033 https://codereview.chromium.org/1830253002/ relnote: Do not read rejected packet number in PUBLIC RESET packet. Merge internal change: 117595846 https://codereview.chromium.org/1834683002/ relnote: Trailers are now parsed and stored in QuicSpdyStream. Moved the TrailersWithoutOffset test to the parent QuicSpdyStreamTest. Deleted the ReceiveTrailersBeforeHeaders test entirely as it doesn't test useful behavior: it calls OnTrailingHeadersComplete directly but this is only ever called from within QuicSpdyStream (and subclasses). Switch to the new WriteOrBufferBody method. Merge internal change: 117582133 https://codereview.chromium.org/1832513004/ relnote: Move QuicSpdyClientStream::SendBody to QuicSpdyStream::WriteBody. Merge internal change: 117577200 https://codereview.chromium.org/1830043004/ relnote: Make ShouldCreate{Incoming,Outgoing}DynamicStream abstract methods in QuicSpdySession. No behavior change. Merge internal change: 117574127 https://codereview.chromium.org/1828123003/ relnote: Correctly set cmsg space for timestamping. Additionally, guard against future cmsg overflows. Not flag protected. The previous calculation for the cmsg space was too small by 8B. Merge internal change: 117568981 https://codereview.chromium.org/1828953002/ relnote: Creating a basic QUIC packet dumper Adding newlines to any logged quic frames Merge internal change: 117543172 https://codereview.chromium.org/1834593002/ relnote: Rename StreamSequencerBuffer to QuicStreamSequencerBuffer to bring it in line with other classes in //gfe/quic. No behavior change. Merge internal change: 117487896 https://codereview.chromium.org/1831723002/ relnote: Rename QuicSpdyStream::response_trailers_ to received_trailers_. No behavior change. QuicSpdyStream is used by servers and clients, received trailers could be request trailers. Merge internal change: 117483696 https://codereview.chromium.org/1822763002/ relnote: Introduces a QUIC_OVERLAPPING_STREAM_DATA error code, sent when receiving a stream frame containing data that overlaps with buffered data. Renames QUIC_INVALID_STREAM_FRAME to QUIC_EMPTY_STREAM_FRAME_NO_FIN Dan pointed out that QUIC_INVALID_STREAM_DATA is also used in the framer, making debugging the sequencer specific errors harder. Also the description of QUIC_INVALID_STREAM_DATA is that "STREAM frame data is malformed." which I don't think is true here: it's not malformed, it's just overlapping. Merge internal change: 117452324 https://codereview.chromium.org/1830063002/ relnote: Close QUIC connection if any error occurs in QuicStreamSequencerBuffer::OnStreamData. Flag protected behind default enabled --flag_quic_consolidate_onstreamframe_errors Flag protecting out of paranoia: new behavior is that if ever hit the QUIC_INTERNAL_ERROR branch in OnStreamData then we will now close the connection, whereas we did not before. Additionally a stream frame containing data which overlaps with existing data will now result in QUIC_INVALID_STREAM_DATA being sent on close, instead of QUIC_INVALID_STREAM_FRAME. Merge internal change: 117446575 https://codereview.chromium.org/1830773002/ relnote: Use SO_TIMESTAMPING for received packet timestamps. Guarded by flag_quic_use_socket_timestamp. This corrects the RTT for extremely low RTT connections (i.e. RTT < EpollServer iteration duration). This manifests as a ~1.5Gbps improvement in egress at 100% GFE CPU in the ustreamer load test, which while not indicative of reality, does bring it closer to the TCP+SSL load test behavior. In practice, this really just manages to reduce the number of calls to EpollServer::Now(). This is part of a broader set of changes to enable PACKET_RX_RING and all of the capabilities it provides, notably PACKET_TIMESTAMPING. Additionally, in QuicPacketReader's plain recvmsg path, ensure the returned server IP is valid as is done in the recvmmsg path. Merge internal change: 117434383 https://codereview.chromium.org/1828863002/ relnote: Remove QuicStreamSequencerBufferInterface that only has a single implementation. No behavior change. Merge internal change: 117397110 https://codereview.chromium.org/1823803003/ relnote: Report no client nonce as INCHOATE_HELLO_FAILURE. Merge internal change: 117371001 https://codereview.chromium.org/1820383002/ relnote: Add and plumb QuicReceivedPacket in the packet reception path. Optionally use its timestamp, guarded by gfe2_restart_flag_quic_use_socket_timestamp. This is part of a broader set of changes to enable socket-level timestamping and to enable PACKET_RX_RING with all of the capabilities it provides. Merge internal change: 117362867 https://codereview.chromium.org/1821843003/ relnote: Add QUIC 32 in which FEC related fields are removed from private flags and revived packet list are removed from ACK frame. Merge internal change: 117278937 https://codereview.chromium.org/1817223002/ relnote: rename QuicSpdyClientStream::headers to response_headers Merge internal change: 117272106 https://codereview.chromium.org/1822763002/ R=rch@chromium.org BUG= Review URL: https://codereview.chromium.org/1832953002 Cr-Commit-Position: refs/heads/master@{#383171}
Diffstat (limited to 'net/tools/quic/quic_spdy_client_stream.h')
-rw-r--r--net/tools/quic/quic_spdy_client_stream.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/net/tools/quic/quic_spdy_client_stream.h b/net/tools/quic/quic_spdy_client_stream.h
index dcb8896..f225717 100644
--- a/net/tools/quic/quic_spdy_client_stream.h
+++ b/net/tools/quic/quic_spdy_client_stream.h
@@ -51,18 +51,11 @@ class QuicSpdyClientStream : public QuicSpdyStream {
base::StringPiece body,
bool fin);
- // Sends body data to the server, or buffers if it can't be sent immediately.
- void SendBody(const std::string& data, bool fin);
- // As above, but |delegate| will be notified once |data| is ACKed.
- void SendBody(const std::string& data,
- bool fin,
- QuicAckListenerInterface* listener);
-
// Returns the response data.
const std::string& data() { return data_; }
// Returns whatever headers have been received for this stream.
- const SpdyHeaderBlock& headers() { return response_headers_; }
+ const SpdyHeaderBlock& response_headers() { return response_headers_; }
size_t header_bytes_read() const { return header_bytes_read_; }
@@ -87,7 +80,7 @@ class QuicSpdyClientStream : public QuicSpdyStream {
SpdyHeaderBlock response_headers_;
// The parsed content-length, or -1 if none is specified.
- int content_length_;
+ int64_t content_length_;
int response_code_;
std::string data_;
size_t header_bytes_read_;