Add a variety of DCHECK in the toy-server class to ensure that the backend is
non-null and remove the guard added in cr/246231018.
The underlying issue was a bug in the Chromium QuicSimplerServer which
is fixed in:
https://chromium-review.googlesource.com/c/chromium/src/+/1594063
gfe-relnote: n/a - Not used in the GFE
PiperOrigin-RevId: 246429041
Change-Id: I76103b0d992950fef950ba5bb8d508fe40ae5436
diff --git a/quic/tools/quic_server.cc b/quic/tools/quic_server.cc
index f8df59a..5542008 100644
--- a/quic/tools/quic_server.cc
+++ b/quic/tools/quic_server.cc
@@ -81,6 +81,7 @@
packet_reader_(new QuicPacketReader()),
quic_simple_server_backend_(quic_simple_server_backend),
expected_connection_id_length_(expected_connection_id_length) {
+ DCHECK(quic_simple_server_backend_);
Initialize();
}
diff --git a/quic/tools/quic_simple_server_session.cc b/quic/tools/quic_simple_server_session.cc
index a722d37..af60524 100644
--- a/quic/tools/quic_simple_server_session.cc
+++ b/quic/tools/quic_simple_server_session.cc
@@ -33,7 +33,9 @@
compressed_certs_cache),
highest_promised_stream_id_(
QuicUtils::GetInvalidStreamId(connection->transport_version())),
- quic_simple_server_backend_(quic_simple_server_backend) {}
+ quic_simple_server_backend_(quic_simple_server_backend) {
+ DCHECK(quic_simple_server_backend_);
+}
QuicSimpleServerSession::~QuicSimpleServerSession() {
delete connection();
diff --git a/quic/tools/quic_simple_server_stream.cc b/quic/tools/quic_simple_server_stream.cc
index e3fc507..55d93dc 100644
--- a/quic/tools/quic_simple_server_stream.cc
+++ b/quic/tools/quic_simple_server_stream.cc
@@ -29,7 +29,9 @@
QuicSimpleServerBackend* quic_simple_server_backend)
: QuicSpdyServerStreamBase(id, session, type),
content_length_(-1),
- quic_simple_server_backend_(quic_simple_server_backend) {}
+ quic_simple_server_backend_(quic_simple_server_backend) {
+ DCHECK(quic_simple_server_backend_);
+}
QuicSimpleServerStream::QuicSimpleServerStream(
PendingStream pending,
@@ -38,12 +40,12 @@
QuicSimpleServerBackend* quic_simple_server_backend)
: QuicSpdyServerStreamBase(std::move(pending), session, type),
content_length_(-1),
- quic_simple_server_backend_(quic_simple_server_backend) {}
+ quic_simple_server_backend_(quic_simple_server_backend) {
+ DCHECK(quic_simple_server_backend_);
+}
QuicSimpleServerStream::~QuicSimpleServerStream() {
- if (quic_simple_server_backend_) {
- quic_simple_server_backend_->CloseBackendResponseStream(this);
- }
+ quic_simple_server_backend_->CloseBackendResponseStream(this);
}
void QuicSimpleServerStream::OnInitialHeadersComplete(