diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 09:24:58 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 09:24:58 +0000 |
commit | 457d695943b205d852e9eb9c8b03d4d1bbb8caa7 (patch) | |
tree | cc76421d8ac45c708fa10ab82b7913a3a76bfb0c /net/quic/quic_stream_factory_test.cc | |
parent | ad8ff0e4b3067681dfe04cdebb423cdf3e68181d (diff) | |
download | chromium_src-457d695943b205d852e9eb9c8b03d4d1bbb8caa7.zip chromium_src-457d695943b205d852e9eb9c8b03d4d1bbb8caa7.tar.gz chromium_src-457d695943b205d852e9eb9c8b03d4d1bbb8caa7.tar.bz2 |
Land Recent QUIC Changes.
Temporarily change the maximum server initial congestion window to 10
from 100, because many existing Chrome clients are still
negotiating 100, causing visible performance issues, particularly for
YouTube rebuffers.
Merge internal change: 57996291
https://codereview.chromium.org/102373005/
Merge the QUIC unacked packet map with the unacked fec packet map and
merge the retransmission timer with the discard fec timer.
Merge internal change: 57978547
https://codereview.chromium.org/114683002/
Pool 64 bits of entropy instead of calling OpenSSL's RNG for one bit
when creating packets. Clean up the entropy bit while I'm at it.
Changes:
1. QuicPacketCreator buffers 64 bits of entropy and consumes them
one-at-a-time. This should resolve the performance issue. Covered
this with a unit test. Removed the RandBool call from QuicRandom.
2. The first packet gets a random entropy bit. We used to never set it
because we failed to test it properly. This was sad because the first
packet deserves the most protection.
3. The entropy hash computation had a TODO to make it stronger, but I'm
convinced the current algorithm is in fact sound. Removed the TODO
and tightened up the implementation to avoid an unpredictable branch
(no behavior change!) Also covered by the test.
4. Fixed the bugs in QuicConnectionTest that prevented setting the bit
in the first packet. Switched tests to properly use MockRandom.
Merge internal change: 57908681
https://codereview.chromium.org/109323006/
Minor change of QUIC's RTO behavior to not change the congestion window
when the RTO fires, but there are no retransmittable packets.
Merge internal change: 57907460
https://codereview.chromium.org/99583006/
QuicSentPacketManager cleanup to simplify OnAbandonFECTimeout() and
remove unused DefaultRetransmissionTime().
Merge internal change: 57897409
https://codereview.chromium.org/110383006/
Minor cleanup of QuicSpdyServerStream and QuicSpdyClientStream.
Merge internal change: 57834426
https://codereview.chromium.org/105103007/
Break out the basic reliable QUIC stream functionality from the
headers-capable QUIC stream functionality. The crypto stream does not
do have header processing, and and the soon-to-be-written headers stream
will not have header processing in the way that data streams do.
No functionality change. Refactor ReliableQuicStream class.
Merge internal change: 57796557
https://codereview.chromium.org/100173005/
Merge ReliableQuicStream::WriteData with
ReliableQuicStream::WriteOrBuffer, and make this method non-virtual.
It turns out the only cases where it was overridden could easily be
worked around.
Remove ReliableQuicStream::WriteDataInternal and use a MakeIovec helper
to work around it. Rename ReliableQuicStream::WritevDataInternal to
ReliableQuicStream::WritevData.
Rename QuicStream::WritevData to QuicStream::Writev.
Cleanup of the various Write methods in ReliableQuicStream.
Merge internal change: 57753091
https://codereview.chromium.org/112343002/
Cleanup of QUIC stream classes.
Remove abstract QuicReliableClientStream class and fold it into the
derived QuicSpdyClientStream class.
Remove abstract QuicReliableServerStream class and fold it into the
derived QuicSpdyServerStream class.
Merge internal change: 57751931
https://codereview.chromium.org/111073003/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/103973007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240569 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_stream_factory_test.cc')
-rw-r--r-- | net/quic/quic_stream_factory_test.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc index 856ba7f..1c1f8e1 100644 --- a/net/quic/quic_stream_factory_test.cc +++ b/net/quic/quic_stream_factory_test.cc @@ -64,7 +64,8 @@ class QuicStreamFactoryPeer { class QuicStreamFactoryTest : public ::testing::Test { protected: QuicStreamFactoryTest() - : clock_(new MockClock()), + : random_generator_(0), + clock_(new MockClock()), factory_(&host_resolver_, &socket_factory_, base::WeakPtr<HttpServerProperties>(), &crypto_client_stream_factory_, @@ -80,7 +81,7 @@ class QuicStreamFactoryTest : public ::testing::Test { QuicPacketSequenceNumber num, QuicStreamId stream_id) { QuicPacketHeader header; - header.public_header.guid = 0xDEADBEEF; + header.public_header.guid = random_generator_.RandUint64(); header.public_header.reset_flag = false; header.public_header.version_flag = true; header.packet_sequence_number = num; @@ -98,7 +99,7 @@ class QuicStreamFactoryTest : public ::testing::Test { QuicPacketSequenceNumber largest_received, QuicPacketSequenceNumber least_unacked) { QuicPacketHeader header; - header.public_header.guid = 0xDEADBEEF; + header.public_header.guid = random_generator_.RandUint64(); header.public_header.reset_flag = false; header.public_header.version_flag = false; header.packet_sequence_number = 2; @@ -126,7 +127,7 @@ class QuicStreamFactoryTest : public ::testing::Test { scoped_ptr<QuicEncryptedPacket> ConstructFeedbackPacket( QuicPacketSequenceNumber sequence_number) { QuicPacketHeader header; - header.public_header.guid = 0xDEADBEEF; + header.public_header.guid = random_generator_.RandUint64(); header.public_header.reset_flag = false; header.public_header.version_flag = false; header.packet_sequence_number = sequence_number; |