Allow QuicSession::WritevData() to write data at a specified encryption level.
gfe-relnote: protected by gfe2_reloadable_flag_quic_writevdata_at_level
PiperOrigin-RevId: 297697074
Change-Id: Ib4e5d860f22f506f36db76f4f8ee1c1e406f6a20
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index d9ecbae..93c3a9b 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -36,6 +36,7 @@
#include "net/third_party/quiche/src/quic/test_tools/quic_stream_send_buffer_peer.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
#include "net/third_party/quiche/src/common/platform/api/quiche_arraysize.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_optional.h"
#include "net/third_party/quiche/src/common/platform/api/quiche_str_cat.h"
#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
@@ -261,16 +262,18 @@
return GetNumActiveStreams() > 0;
}
- QuicConsumedData WritevData(QuicStreamId id,
- size_t write_length,
- QuicStreamOffset offset,
- StreamSendingState state,
- bool is_retransmission) override {
+ QuicConsumedData WritevData(
+ QuicStreamId id,
+ size_t write_length,
+ QuicStreamOffset offset,
+ StreamSendingState state,
+ bool is_retransmission,
+ quiche::QuicheOptional<EncryptionLevel> level) override {
bool fin = state != NO_FIN;
QuicConsumedData consumed(write_length, fin);
if (!writev_consumes_all_data_) {
consumed = QuicSession::WritevData(id, write_length, offset, state,
- is_retransmission);
+ is_retransmission, level);
}
QuicSessionPeer::GetWriteBlockedStreams(this)->UpdateBytesForStream(
id, consumed.bytes_consumed);
@@ -292,8 +295,8 @@
}
MakeIOVector("not empty", &iov);
QuicStreamPeer::SendBuffer(stream).SaveStreamData(&iov, 1, 0, 9);
- QuicConsumedData consumed =
- WritevData(stream->id(), 9, 0, FIN, /*is_retransmission*/ false);
+ QuicConsumedData consumed = WritevData(
+ stream->id(), 9, 0, FIN, /*is_retransmission*/ false, QuicheNullOpt);
QuicStreamPeer::SendBuffer(stream).OnStreamDataConsumed(
consumed.bytes_consumed);
return consumed;
@@ -310,7 +313,7 @@
QuicConsumedData SendLargeFakeData(QuicStream* stream, int bytes) {
DCHECK(writev_consumes_all_data_);
return WritevData(stream->id(), bytes, 0, FIN,
- /*is_retransmission*/ false);
+ /*is_retransmission*/ false, QuicheNullOpt);
}
bool UsesPendingStreams() const override { return uses_pending_streams_; }