Make some parameters 64bit in QuicConfig
QuicConfig was originally built for QUIC_CRYPTO which exchanges most of its parameters as 32bit values. IETF QUIC however exchanges 62bit integers over the wire.
For example, our flow control code deals in QuicStreamOffset which is uint64_t and the IETF QUIC transport parameters can encode values up to 2^62-1, but they transit through QuicConfig which can only store 32 bits.
This CL allows the config to handle 64bit values, without changing the wire encoding. This CL still encodes these values as uint32 when using QUIC_CRYPTO.
gfe-relnote: refactor QuicConfig, no behavior change, not flag protected
PiperOrigin-RevId: 309275731
Change-Id: I9d8831af66b34dcaf8599e75c49daa1d8de3fcc4
diff --git a/quic/core/quic_constants.h b/quic/core/quic_constants.h
index b6b6c74..587e8e2 100644
--- a/quic/core/quic_constants.h
+++ b/quic/core/quic_constants.h
@@ -72,9 +72,9 @@
// Minimum size of initial flow control window, for both stream and session.
// This is only enforced when version.AllowsLowFlowControlLimits() is false.
-const uint32_t kMinimumFlowControlSendWindow = 16 * 1024; // 16 KB
+const QuicByteCount kMinimumFlowControlSendWindow = 16 * 1024; // 16 KB
// Default size of initial flow control window, for both stream and session.
-const uint32_t kDefaultFlowControlSendWindow = 16 * 1024; // 16 KB
+const QuicByteCount kDefaultFlowControlSendWindow = 16 * 1024; // 16 KB
// Maximum flow control receive window limits for connection and stream.
const QuicByteCount kStreamReceiveWindowLimit = 16 * 1024 * 1024; // 16 MB