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_stream_test.cc b/quic/core/quic_stream_test.cc
index f2269bb..3e47835 100644
--- a/quic/core/quic_stream_test.cc
+++ b/quic/core/quic_stream_test.cc
@@ -49,7 +49,7 @@
const char kData1[] = "FooAndBar";
const char kData2[] = "EepAndBaz";
-const size_t kDataLen = 9;
+const QuicByteCount kDataLen = 9;
class TestStream : public QuicStream {
public:
@@ -125,7 +125,7 @@
QuicConsumedData CloseStreamOnWriteError(
QuicStreamId id,
- size_t /*write_length*/,
+ QuicByteCount /*write_length*/,
QuicStreamOffset /*offset*/,
StreamSendingState /*state*/,
TransmissionType /*type*/,
@@ -271,7 +271,7 @@
TEST_P(QuicStreamTest, WriteAllData) {
Initialize();
- size_t length =
+ QuicByteCount length =
1 + QuicPacketCreator::StreamFramePacketOverhead(
connection_->transport_version(), PACKET_8BYTE_CONNECTION_ID,
PACKET_0BYTE_CONNECTION_ID, !kIncludeVersion,
@@ -360,7 +360,7 @@
Initialize();
EXPECT_FALSE(HasWriteBlockedStreams());
- size_t length =
+ QuicByteCount length =
1 + QuicPacketCreator::StreamFramePacketOverhead(
connection_->transport_version(), PACKET_8BYTE_CONNECTION_ID,
PACKET_0BYTE_CONNECTION_ID, !kIncludeVersion,
@@ -1076,8 +1076,9 @@
EXPECT_FALSE(stream_->CanWriteNewData());
// Send buffered data to make buffered data size < threshold.
- size_t data_to_write = 3 * data.length() - 200 -
- GetQuicFlag(FLAGS_quic_buffered_data_threshold) + 1;
+ QuicByteCount data_to_write =
+ 3 * data.length() - 200 -
+ GetQuicFlag(FLAGS_quic_buffered_data_threshold) + 1;
EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
.WillOnce(InvokeWithoutArgs([this, data_to_write]() {
return session_->ConsumeData(stream_->id(), data_to_write, 200u, NO_FIN,
@@ -1182,7 +1183,7 @@
Initialize();
char data[1024];
- std::vector<std::pair<char*, size_t>> buffers;
+ std::vector<std::pair<char*, QuicByteCount>> buffers;
buffers.push_back(std::make_pair(data, QUICHE_ARRAYSIZE(data)));
buffers.push_back(std::make_pair(data, QUICHE_ARRAYSIZE(data)));
QuicTestMemSliceVector vector1(buffers);
@@ -1210,8 +1211,9 @@
EXPECT_EQ(2 * QUICHE_ARRAYSIZE(data) - 100, stream_->BufferedDataBytes());
EXPECT_FALSE(stream_->fin_buffered());
- size_t data_to_write = 2 * QUICHE_ARRAYSIZE(data) - 100 -
- GetQuicFlag(FLAGS_quic_buffered_data_threshold) + 1;
+ QuicByteCount data_to_write =
+ 2 * QUICHE_ARRAYSIZE(data) - 100 -
+ GetQuicFlag(FLAGS_quic_buffered_data_threshold) + 1;
EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
.WillOnce(InvokeWithoutArgs([this, data_to_write]() {
return session_->ConsumeData(stream_->id(), data_to_write, 100u, NO_FIN,
@@ -1245,7 +1247,7 @@
Initialize();
QuicStreamPeer::SetStreamBytesWritten(kMaxStreamLength - 5u, stream_);
char data[5];
- std::vector<std::pair<char*, size_t>> buffers;
+ std::vector<std::pair<char*, QuicByteCount>> buffers;
buffers.push_back(std::make_pair(data, QUICHE_ARRAYSIZE(data)));
QuicTestMemSliceVector vector1(buffers);
QuicMemSliceSpan span1 = vector1.span();
@@ -1258,7 +1260,7 @@
QuicConsumedData consumed = stream_->WriteMemSlices(span1, false);
EXPECT_EQ(5u, consumed.bytes_consumed);
- std::vector<std::pair<char*, size_t>> buffers2;
+ std::vector<std::pair<char*, QuicByteCount>> buffers2;
buffers2.push_back(std::make_pair(data, 1u));
QuicTestMemSliceVector vector2(buffers);
QuicMemSliceSpan span2 = vector2.span();