summaryrefslogtreecommitdiffstats
path: root/net/tools/quic/quic_server_session.cc
diff options
context:
space:
mode:
authorrtenneti <rtenneti@chromium.org>2014-09-15 22:22:15 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-16 05:23:16 +0000
commit31e9fd65aa1f2d7753f356fc267743a039fbd980 (patch)
treefe6404d4d65a47db1f36c622ff15e0cdeb4bd563 /net/tools/quic/quic_server_session.cc
parentea09faed7faa245e638caedc2b871550a2139d76 (diff)
downloadchromium_src-31e9fd65aa1f2d7753f356fc267743a039fbd980.zip
chromium_src-31e9fd65aa1f2d7753f356fc267743a039fbd980.tar.gz
chromium_src-31e9fd65aa1f2d7753f356fc267743a039fbd980.tar.bz2
Landing Recent QUIC Changes.
Discard all useless QUIC retransmissions instead of only the most recent useless retransmission. May reduce the chances of truncated acks. Merge internal change: 75561951 https://codereview.chromium.org/564663005/ Add a separate QUIC_CONNECTION_OVERALL_TIMED_OUT to identify overall timeouts from idle timeouts and increase the initial overall timeout from 5s to 10s. Merge internal change: 75544619 https://codereview.chromium.org/572083003/ Fix QUIC crash on ConnectionClose, protected behind renamed flag FLAGS_close_quic_connection_unfinished_streams_2 (defaulted to false). With this change we avoid trying to close the connection while driving the QUIC internal server response pipeline, as the call to SendConnectionClose now happens during PostProcessAfterData, which is only ever called after receiving new data. With a hacky client/QUIC internal server combo (sending > 100 requests, but never sending FIN/RST) I've verified that with this change we don't hit the DFATAL from the attached bug. Still not entirely sure why Chrome would trigger this, b/17402744 is open to investigate why it ever opens more than kMaxStreams. Merge internal change: 75541290 https://codereview.chromium.org/575593002/ Add a LOG(DFATAL) to a case where packets are acked before being sent. Merge internal change: 75537267 https://codereview.chromium.org/575573003/ Allow number of open QUIC streams to grow 10% beyond configured limit at the QUIC internal server before closing connection. In the following situation Chrome may open more streams than the configured limit: * opens kMaxStreams streams * sends a FIN for one of the streams, now has kMaxStreams-1 streams open * opens a new stream * FIN gets lost on way to QUIC internal server * QUIC internal server terminates connection when new stream packet arrives Rather than making Chrome keep track of when the server has acknowledged a FIN, just give 10% breathing room which should avoid this case. Merge internal change: 75393293 https://codereview.chromium.org/557363003/ client-only - Change QUIC clients to use the initial RTT estimate that they provide to the server instead of the default. Re-enabled LimitCongestionWindowAndRTT end_to_end unittest (since we have fixed lot of flaky tests). Will test chromeos valgrind. Merge internal change: 75389539 https://codereview.chromium.org/573763003/ BUG=321870 Increase flow control receive window of quic_client_bin.cc, by adding a flag that defaults to 10 Mb. Added --flow-control-window-bytes as argument. Merge internal change: 75381087 https://codereview.chromium.org/569353003/ Call QuicSentPacketManager's OnPacketSerialized or OnRetransmittedPacket right before OnPacketSent, in preparation for combining the three methods into one. Merge internal change: 75340764 https://codereview.chromium.org/566743003/ Instead of initializing QuicSession::next_stream_id_ to 3 in the construct, and then setting it to 5 in InitializeSession simply initialize it to 5 in the constructor. Merge internal change: 75335114 https://codereview.chromium.org/562793003/ Do not allow a QUIC connection to timeout if no packets have been sent or received. Protected by FLAGS_quic_timeouts_require_activity. This seems to happen on windows from time to time and causes problems there. Merge internal change: 75304108 https://codereview.chromium.org/571993002/ Minor change to QUIC's retransmission to not link old retransmissions with new ones when the version or encryption changes. Allows the least_unacked to be raised more quickly, preventing spurious acks. Merge internal change: 75290729 https://codereview.chromium.org/572703003/ Removed unnecessary static_cast and replaced it with "lu". Minor change to keep the code similar to internal code. Merge internal change: 75263809 https://codereview.chromium.org/566373003/ QUIC cleanup to remove an unused bool argument in SendOrQueuePacket and OnSerializedPacket. Merge internal change: 75208575 https://codereview.chromium.org/553583007/ R=rch@chromium.org Review URL: https://codereview.chromium.org/559373003 Cr-Commit-Position: refs/heads/master@{#295014}
Diffstat (limited to 'net/tools/quic/quic_server_session.cc')
-rw-r--r--net/tools/quic/quic_server_session.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/tools/quic/quic_server_session.cc b/net/tools/quic/quic_server_session.cc
index b5be8d4..64ac110 100644
--- a/net/tools/quic/quic_server_session.cc
+++ b/net/tools/quic/quic_server_session.cc
@@ -144,7 +144,8 @@ bool QuicServerSession::ShouldCreateIncomingDataStream(QuicStreamId id) {
}
if (GetNumOpenStreams() >= get_max_open_streams()) {
DVLOG(1) << "Failed to create a new incoming stream with id:" << id
- << " Already " << GetNumOpenStreams() << " open.";
+ << " Already " << GetNumOpenStreams() << " streams open (max "
+ << get_max_open_streams() << ").";
connection()->SendConnectionClose(QUIC_TOO_MANY_OPEN_STREAMS);
return false;
}