Land Recent QUIC Changes.
Trying to merge as many of flow control changes as possible before the
branch (we have all changed until Fri 06/13 21:20 UTC).
Test tools for udp proxying. This involves a few refactors of test
tools but nothing which affects the internal server.
minor refactors to allow quic udp proxy testing.
Merge internal change: 69157651
https://codereview.chromium.org/331963002/
Added FEC policy per stream, which is translated to an FEC protection
value on writes further on down.
Merge internal change: 69153464
https://codereview.chromium.org/338623002/
Pull out stream/session updates from OnConfigNegotiated. Preparation for
updating stream/session with different received windows.
QUIC refector: Pull out stream/session updates from OnConfigNegotiated
Merge internal change: 69106467
https://codereview.chromium.org/337723003/
Rather than passing initial_flow_control_window all the way down the
call stack, put it inside QuicConfig as intended: each member of
QuicConfig has a "value to send" field, so populate this at the top
level.
rtenneti: when porting to Chromium, you should add
config.SetInitialFlowControlWindowToSend(kInitialReceiveWindowSize)
in QuicStreamFactory::CreateSession, just above line 837: *session =
new QuicClientSession(...)
Store initial flow control window for QUIC in QuicConfig. No behavior
change intended.
Added the following unit tests to EndToEndTest.cc
+ DoNotSetResumeWriteAlarmIfConnectionFlowControlBlocked
+ NegotiateMaxOpenStreams
Merge internal change: 69079363
https://codereview.chromium.org/333803007/
First version of a QUIC SendAlgorithmSimulator which is designed to
simulate BBR and TCP flows and changes.
Merge internal change: 69035927
https://codereview.chromium.org/330163003/
[email protected], [email protected]
Review URL: https://codereview.chromium.org/330333006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277959 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h
index 23bdd3e1..eed756b 100644
--- a/net/quic/quic_protocol.h
+++ b/net/quic/quic_protocol.h
@@ -158,7 +158,13 @@
// Indicates FEC protection level for data being written.
enum FecProtection {
MUST_FEC_PROTECT, // Callee must FEC protect this data.
- MAY_FEC_PROTECT // Callee does not have to but may FEC protect this data.
+ MAY_FEC_PROTECT // Callee does not have to but may FEC protect this data.
+};
+
+// Indicates FEC policy
+enum FecPolicy {
+ FEC_PROTECT_ALWAYS, // All data in the stream should be FEC protected.
+ FEC_PROTECT_OPTIONAL // Data in the stream does not need FEC protection.
};
enum QuicFrameType {