Temporarily add a dummy definition of CreateIncomingStream() to quic::QuicSession The QUICHE roll to Chromium is blocked because the Open Screen library overrides the virtual method `CreateIncomingStream(PendingStream*)` . Temporarily add a dummy definition to permit the Chromium roll to proceed. Temporarily revert the change to quic_session_test.cc to make PendingStream be passed by reference in order to make it compile. No functional change. PiperOrigin-RevId: 911726734
diff --git a/quiche/quic/core/quic_session.h b/quiche/quic/core/quic_session.h index 56ac2b0..ea1ba87 100644 --- a/quiche/quic/core/quic_session.h +++ b/quiche/quic/core/quic_session.h
@@ -1169,6 +1169,12 @@ void PerformActionOnNonStaticStreams( quiche::UnretainedCallback<bool(QuicStream*)> action); + // This is a temporary workaround to fix compile breakage in the Chromium + // roll. Do not call this method or add more references to it. + // TODO: b/508413463 - Remove this method once a version of Open Screen that + // doesn't override this method has rolled into Chromium. + virtual QuicStream* CreateIncomingStream(PendingStream*) { return nullptr; } + // A counter for streams which have sent and received FIN but waiting for // application to consume data. size_t num_draining_streams_;
diff --git a/quiche/quic/core/quic_session_test.cc b/quiche/quic/core/quic_session_test.cc index 01a1b07..d7d5113 100644 --- a/quiche/quic/core/quic_session_test.cc +++ b/quiche/quic/core/quic_session_test.cc
@@ -305,8 +305,8 @@ return stream; } - TestStream* CreateIncomingStream(PendingStream& pending) { - TestStream* stream = new TestStream(pending, this); + TestStream* CreateIncomingStream(PendingStream* pending) override { + TestStream* stream = new TestStream(*pending, this); ActivateStream(absl::WrapUnique(stream)); ++num_incoming_streams_created_; return stream; @@ -317,14 +317,14 @@ // receiving stream frames. QuicStream* ProcessBidirectionalPendingStream( PendingStream& pending) override { - return CreateIncomingStream(pending); + return CreateIncomingStream(&pending); } QuicStream* ProcessReadUnidirectionalPendingStream( PendingStream& pending) override { struct iovec iov; if (pending.sequencer()->GetReadableRegion(&iov)) { // Create TestStream once the first byte is received. - return CreateIncomingStream(pending); + return CreateIncomingStream(&pending); } return nullptr; }