Remove QuicClientPushPromiseIndex::Delegate. PiperOrigin-RevId: 571097354
diff --git a/quiche/quic/core/http/quic_client_push_promise_index.h b/quiche/quic/core/http/quic_client_push_promise_index.h index 740c1a5..901e134 100644 --- a/quiche/quic/core/http/quic_client_push_promise_index.h +++ b/quiche/quic/core/http/quic_client_push_promise_index.h
@@ -13,34 +13,7 @@ namespace quic { // TODO(b/171463363): Remove. -class QUICHE_EXPORT QuicClientPushPromiseIndex { - public: - // Delegate is used to complete the rendezvous that began with - // |Try()|. - class QUICHE_EXPORT Delegate { - public: - virtual ~Delegate() {} - - // The primary lookup matched request with push promise by URL. A - // secondary match is necessary to ensure Vary (RFC 2616, 14.14) - // is honored. If Vary is not present, return true. If Vary is - // present, return whether designated header fields of - // |promise_request| and |client_request| match. - virtual bool CheckVary(const spdy::Http2HeaderBlock& client_request, - const spdy::Http2HeaderBlock& promise_request, - const spdy::Http2HeaderBlock& promise_response) = 0; - - // On rendezvous success, provides the promised |stream|. Callee - // does not inherit ownership of |stream|. On rendezvous failure, - // |stream| is |nullptr| and the client should retry the request. - // Rendezvous can fail due to promise validation failure or RST on - // promised stream. |url| will have been removed from the index - // before |OnRendezvousResult()| is invoked, so a recursive call to - // |Try()| will return |QUIC_FAILURE|, which may be convenient for - // retry purposes. - virtual void OnRendezvousResult(QuicSpdyStream* stream) = 0; - }; -}; +class QUICHE_EXPORT QuicClientPushPromiseIndex {}; } // namespace quic
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc index 7b1b594..eed82a1 100644 --- a/quiche/quic/test_tools/quic_test_client.cc +++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -730,24 +730,6 @@ open_streams_.erase(id); } -bool QuicTestClient::CheckVary( - const spdy::Http2HeaderBlock& /*client_request*/, - const spdy::Http2HeaderBlock& /*promise_request*/, - const spdy::Http2HeaderBlock& /*promise_response*/) { - return true; -} - -void QuicTestClient::OnRendezvousResult(QuicSpdyStream* stream) { - std::unique_ptr<TestClientDataToResend> data_to_resend = - std::move(push_promise_data_to_resend_); - SetLatestCreatedStream(static_cast<QuicSpdyClientStream*>(stream)); - if (stream) { - stream->OnBodyAvailable(); - } else if (data_to_resend) { - data_to_resend->Resend(); - } -} - void QuicTestClient::UseWriter(QuicPacketWriterWrapper* writer) { client_->UseWriter(writer); }
diff --git a/quiche/quic/test_tools/quic_test_client.h b/quiche/quic/test_tools/quic_test_client.h index db595f4..ae024ab 100644 --- a/quiche/quic/test_tools/quic_test_client.h +++ b/quiche/quic/test_tools/quic_test_client.h
@@ -85,8 +85,7 @@ }; // A toy QUIC client used for testing. -class QuicTestClient : public QuicSpdyStream::Visitor, - public QuicClientPushPromiseIndex::Delegate { +class QuicTestClient : public QuicSpdyStream::Visitor { public: QuicTestClient(QuicSocketAddress server_address, const std::string& server_hostname, @@ -239,12 +238,6 @@ // From QuicSpdyStream::Visitor void OnClose(QuicSpdyStream* stream) override; - // From QuicClientPushPromiseIndex::Delegate - bool CheckVary(const spdy::Http2HeaderBlock& client_request, - const spdy::Http2HeaderBlock& promise_request, - const spdy::Http2HeaderBlock& promise_response) override; - void OnRendezvousResult(QuicSpdyStream*) override; - // Configures client_ to take ownership of and use the writer. // Must be called before initial connect. void UseWriter(QuicPacketWriterWrapper* writer);
diff --git a/quiche/quic/test_tools/quic_test_utils.cc b/quiche/quic/test_tools/quic_test_utils.cc index ecc08ac..c79537d 100644 --- a/quiche/quic/test_tools/quic_test_utils.cc +++ b/quiche/quic/test_tools/quic_test_utils.cc
@@ -777,22 +777,6 @@ QuicSpdyClientSessionBase::OnConfigNegotiated(); } -TestPushPromiseDelegate::TestPushPromiseDelegate(bool match) - : match_(match), rendezvous_fired_(false), rendezvous_stream_(nullptr) {} - -bool TestPushPromiseDelegate::CheckVary( - const spdy::Http2HeaderBlock& /*client_request*/, - const spdy::Http2HeaderBlock& /*promise_request*/, - const spdy::Http2HeaderBlock& /*promise_response*/) { - QUIC_DVLOG(1) << "match " << match_; - return match_; -} - -void TestPushPromiseDelegate::OnRendezvousResult(QuicSpdyStream* stream) { - rendezvous_fired_ = true; - rendezvous_stream_ = stream; -} - MockPacketWriter::MockPacketWriter() { ON_CALL(*this, GetMaxPacketSize(_)) .WillByDefault(testing::Return(kMaxOutgoingPacketSize));
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h index 883bdda..5fd0df1 100644 --- a/quiche/quic/test_tools/quic_test_utils.h +++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -1084,28 +1084,6 @@ absl::optional<ClientCertMode> client_cert_mode_; }; -// A test implementation of QuicClientPushPromiseIndex::Delegate. -class TestPushPromiseDelegate : public QuicClientPushPromiseIndex::Delegate { - public: - // |match| sets the validation result for checking whether designated header - // fields match for promise request and client request. - explicit TestPushPromiseDelegate(bool match); - - bool CheckVary(const spdy::Http2HeaderBlock& client_request, - const spdy::Http2HeaderBlock& promise_request, - const spdy::Http2HeaderBlock& promise_response) override; - - void OnRendezvousResult(QuicSpdyStream* stream) override; - - QuicSpdyStream* rendezvous_stream() { return rendezvous_stream_; } - bool rendezvous_fired() { return rendezvous_fired_; } - - private: - bool match_; - bool rendezvous_fired_; - QuicSpdyStream* rendezvous_stream_; -}; - class TestQuicSpdyClientSession : public QuicSpdyClientSessionBase { public: TestQuicSpdyClientSession(
diff --git a/quiche/quic/tools/quic_spdy_client_base.cc b/quiche/quic/tools/quic_spdy_client_base.cc index 694930e..e8d86ab 100644 --- a/quiche/quic/tools/quic_spdy_client_base.cc +++ b/quiche/quic/tools/quic_spdy_client_base.cc
@@ -226,24 +226,6 @@ new ClientQuicDataToResend(std::move(new_headers), body, fin, this)); } -bool QuicSpdyClientBase::CheckVary( - const Http2HeaderBlock& /*client_request*/, - const Http2HeaderBlock& /*promise_request*/, - const Http2HeaderBlock& /*promise_response*/) { - return true; -} - -void QuicSpdyClientBase::OnRendezvousResult(QuicSpdyStream* stream) { - std::unique_ptr<ClientQuicDataToResend> data_to_resend = - std::move(push_promise_data_to_resend_); - if (stream) { - stream->set_visitor(this); - stream->OnBodyAvailable(); - } else if (data_to_resend) { - data_to_resend->Resend(); - } -} - int QuicSpdyClientBase::latest_response_code() const { QUIC_BUG_IF(quic_bug_10949_3, !store_response_) << "Response not stored!"; return latest_response_code_;
diff --git a/quiche/quic/tools/quic_spdy_client_base.h b/quiche/quic/tools/quic_spdy_client_base.h index 745c215..cd5b37f 100644 --- a/quiche/quic/tools/quic_spdy_client_base.h +++ b/quiche/quic/tools/quic_spdy_client_base.h
@@ -27,7 +27,6 @@ class SessionCache; class QuicSpdyClientBase : public QuicClientBase, - public QuicClientPushPromiseIndex::Delegate, public QuicSpdyStream::Visitor { public: // A ResponseListener is notified when a complete response is received. @@ -107,11 +106,6 @@ return &push_promise_index_; } - bool CheckVary(const spdy::Http2HeaderBlock& client_request, - const spdy::Http2HeaderBlock& promise_request, - const spdy::Http2HeaderBlock& promise_response) override; - void OnRendezvousResult(QuicSpdyStream*) override; - // If the crypto handshake has not yet been confirmed, adds the data to the // queue of data to resend if the client receives a stateless reject. // Otherwise, deletes the data.