Add DCHECKs to make sure data does not get sent after connection closed.
gfe-relnote: n/a (DCHECK only)
PiperOrigin-RevId: 296897669
Change-Id: Ib333d6c3df430719bc92700e0eba68bd51c81367
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index a47c265..073758e 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -739,6 +739,8 @@
QuicStreamOffset offset,
StreamSendingState state,
bool is_retransmission) {
+ DCHECK(connection_->connected())
+ << ENDPOINT << "Try to write stream data when connection is closed.";
if (!IsEncryptionEstablished() &&
!QuicUtils::IsCryptoStreamId(transport_version(), id)) {
// Do not let streams write without encryption. The calling stream will end
@@ -2094,6 +2096,8 @@
}
MessageResult QuicSession::SendMessage(QuicMemSliceSpan message, bool flush) {
+ DCHECK(connection_->connected())
+ << ENDPOINT << "Try to write messages when connection is closed.";
if (!IsEncryptionEstablished()) {
return {MESSAGE_STATUS_ENCRYPTION_NOT_ESTABLISHED, 0};
}