Let session methods that write data take argument of TransmissionType so that it's clear at which transmission type the data is written.
gfe-relnote: no behavior change. not protected.
PiperOrigin-RevId: 298673372
Change-Id: Ibe1e680be7bce0e6310f8b6db50f7f86c4c8a206
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc
index d952cc0..dbf9e66 100644
--- a/quic/core/quic_stream.cc
+++ b/quic/core/quic_stream.cc
@@ -912,7 +912,10 @@
bool QuicStream::RetransmitStreamData(QuicStreamOffset offset,
QuicByteCount data_length,
- bool fin) {
+ bool fin,
+ TransmissionType type) {
+ DCHECK(type == PTO_RETRANSMISSION || type == RTO_RETRANSMISSION ||
+ type == TLP_RETRANSMISSION || type == PROBING_RETRANSMISSION);
if (HasDeadlinePassed()) {
OnDeadlinePassed();
return true;
@@ -933,8 +936,7 @@
stream_bytes_written());
consumed = stream_delegate_->WritevData(
id_, retransmission_length, retransmission_offset,
- can_bundle_fin ? FIN : NO_FIN, /*is_retransmission*/ true,
- QuicheNullOpt);
+ can_bundle_fin ? FIN : NO_FIN, type, QuicheNullOpt);
QUIC_DVLOG(1) << ENDPOINT << "stream " << id_
<< " is forced to retransmit stream data ["
<< retransmission_offset << ", "
@@ -955,9 +957,8 @@
if (retransmit_fin) {
QUIC_DVLOG(1) << ENDPOINT << "stream " << id_
<< " retransmits fin only frame.";
- consumed =
- stream_delegate_->WritevData(id_, 0, stream_bytes_written(), FIN,
- /*is_retransmission*/ true, QuicheNullOpt);
+ consumed = stream_delegate_->WritevData(id_, 0, stream_bytes_written(), FIN,
+ type, QuicheNullOpt);
if (!consumed.fin_consumed) {
return false;
}
@@ -1027,9 +1028,9 @@
if (fin && add_random_padding_after_fin_) {
state = FIN_AND_PADDING;
}
- QuicConsumedData consumed_data = stream_delegate_->WritevData(
- id(), write_length, stream_bytes_written(), state,
- /*is_retransmission*/ false, QuicheNullOpt);
+ QuicConsumedData consumed_data =
+ stream_delegate_->WritevData(id(), write_length, stream_bytes_written(),
+ state, NOT_RETRANSMISSION, QuicheNullOpt);
OnStreamDataConsumed(consumed_data.bytes_consumed);
@@ -1103,9 +1104,9 @@
if (!send_buffer_.HasPendingRetransmission()) {
QUIC_DVLOG(1) << ENDPOINT << "stream " << id_
<< " retransmits fin only frame.";
- consumed = stream_delegate_->WritevData(
- id_, 0, stream_bytes_written(), FIN,
- /*is_retransmission*/ true, QuicheNullOpt);
+ consumed =
+ stream_delegate_->WritevData(id_, 0, stream_bytes_written(), FIN,
+ LOSS_RETRANSMISSION, QuicheNullOpt);
fin_lost_ = !consumed.fin_consumed;
if (fin_lost_) {
// Connection is write blocked.
@@ -1120,7 +1121,7 @@
(pending.offset + pending.length == stream_bytes_written());
consumed = stream_delegate_->WritevData(
id_, pending.length, pending.offset, can_bundle_fin ? FIN : NO_FIN,
- /*is_retransmission*/ true, QuicheNullOpt);
+ LOSS_RETRANSMISSION, QuicheNullOpt);
QUIC_DVLOG(1) << ENDPOINT << "stream " << id_
<< " tries to retransmit stream data [" << pending.offset
<< ", " << pending.offset + pending.length