Remove unused method QuicSpdySession::CreateOutgoingUnidirectionalStream
and QuicSpdySession::ShouldCreateOutgoingUnidirectionalStream.
PiperOrigin-RevId: 783826850
diff --git a/quiche/quic/core/http/quic_server_session_base.cc b/quiche/quic/core/http/quic_server_session_base.cc
index 2ee027b..e7fc445 100644
--- a/quiche/quic/core/http/quic_server_session_base.cc
+++ b/quiche/quic/core/http/quic_server_session_base.cc
@@ -254,21 +254,6 @@
return CanOpenNextOutgoingBidirectionalStream();
}
-bool QuicServerSessionBase::ShouldCreateOutgoingUnidirectionalStream() {
- if (!connection()->connected()) {
- QUIC_BUG(quic_bug_12513_3)
- << "ShouldCreateOutgoingUnidirectionalStream called when disconnected";
- return false;
- }
- if (!crypto_stream_->encryption_established()) {
- QUIC_BUG(quic_bug_10393_5)
- << "Encryption not established so no outgoing stream created.";
- return false;
- }
-
- return CanOpenNextOutgoingUnidirectionalStream();
-}
-
QuicCryptoServerStreamBase* QuicServerSessionBase::GetMutableCryptoStream() {
return crypto_stream_.get();
}
diff --git a/quiche/quic/core/http/quic_server_session_base.h b/quiche/quic/core/http/quic_server_session_base.h
index 527ee93..c38c615 100644
--- a/quiche/quic/core/http/quic_server_session_base.h
+++ b/quiche/quic/core/http/quic_server_session_base.h
@@ -87,7 +87,6 @@
// established yet or number of server initiated streams already reaches the
// upper limit.
bool ShouldCreateOutgoingBidirectionalStream() override;
- bool ShouldCreateOutgoingUnidirectionalStream() override;
// If we should create an incoming stream, returns true. Otherwise
// does error handling, including communicating the error to the client and
diff --git a/quiche/quic/core/http/quic_server_session_base_test.cc b/quiche/quic/core/http/quic_server_session_base_test.cc
index a1b1e75..fbde383 100644
--- a/quiche/quic/core/http/quic_server_session_base_test.cc
+++ b/quiche/quic/core/http/quic_server_session_base_test.cc
@@ -102,18 +102,6 @@
return nullptr;
}
- QuicSpdyStream* CreateOutgoingUnidirectionalStream() override {
- if (!ShouldCreateOutgoingUnidirectionalStream()) {
- return nullptr;
- }
-
- QuicSpdyStream* stream = new QuicSimpleServerStream(
- GetNextOutgoingUnidirectionalStreamId(), this, WRITE_UNIDIRECTIONAL,
- quic_simple_server_backend_);
- ActivateStream(absl::WrapUnique(stream));
- return stream;
- }
-
std::unique_ptr<QuicCryptoServerStreamBase> CreateQuicCryptoServerStream(
const QuicCryptoServerConfig* crypto_config,
QuicCompressedCertsCache* compressed_certs_cache) override {
diff --git a/quiche/quic/core/http/quic_spdy_client_session.cc b/quiche/quic/core/http/quic_spdy_client_session.cc
index 07828be..901dbd4 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session.cc
@@ -69,12 +69,6 @@
return CanOpenNextOutgoingBidirectionalStream();
}
-bool QuicSpdyClientSession::ShouldCreateOutgoingUnidirectionalStream() {
- QUIC_BUG(quic_bug_10396_1)
- << "Try to create outgoing unidirectional client data streams";
- return false;
-}
-
QuicSpdyClientStream*
QuicSpdyClientSession::CreateOutgoingBidirectionalStream() {
if (!ShouldCreateOutgoingBidirectionalStream()) {
@@ -86,13 +80,6 @@
return stream_ptr;
}
-QuicSpdyClientStream*
-QuicSpdyClientSession::CreateOutgoingUnidirectionalStream() {
- QUIC_BUG(quic_bug_10396_2)
- << "Try to create outgoing unidirectional client data streams";
- return nullptr;
-}
-
std::unique_ptr<QuicSpdyClientStream>
QuicSpdyClientSession::CreateClientStream() {
return std::make_unique<QuicSpdyClientStream>(
diff --git a/quiche/quic/core/http/quic_spdy_client_session.h b/quiche/quic/core/http/quic_spdy_client_session.h
index da320bb..fc9838a 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.h
+++ b/quiche/quic/core/http/quic_spdy_client_session.h
@@ -45,7 +45,6 @@
// QuicSession methods:
QuicSpdyClientStream* CreateOutgoingBidirectionalStream() override;
- QuicSpdyClientStream* CreateOutgoingUnidirectionalStream() override;
QuicCryptoClientStreamBase* GetMutableCryptoStream() override;
const QuicCryptoClientStreamBase* GetCryptoStream() const override;
@@ -100,7 +99,6 @@
QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override;
// If an outgoing stream can be created, return true.
bool ShouldCreateOutgoingBidirectionalStream() override;
- bool ShouldCreateOutgoingUnidirectionalStream() override;
// If an incoming stream can be created, return true.
// TODO(fayang): move this up to QuicSpdyClientSessionBase.
diff --git a/quiche/quic/core/http/quic_spdy_session.h b/quiche/quic/core/http/quic_spdy_session.h
index 65874b7..e303c4d 100644
--- a/quiche/quic/core/http/quic_spdy_session.h
+++ b/quiche/quic/core/http/quic_spdy_session.h
@@ -490,13 +490,12 @@
bool settings_received() const { return settings_received_; }
protected:
- // Override CreateIncomingStream(), CreateOutgoingBidirectionalStream() and
- // CreateOutgoingUnidirectionalStream() with QuicSpdyStream return type to
- // make sure that all data streams are QuicSpdyStreams.
+ // Override CreateIncomingStream() with QuicSpdyStream return type to
+ // ensure that all data streams are QuicSpdyStreams.
QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override = 0;
QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override = 0;
+ // Called to create a new outgoing bidirectional stream.
virtual QuicSpdyStream* CreateOutgoingBidirectionalStream() = 0;
- virtual QuicSpdyStream* CreateOutgoingUnidirectionalStream() = 0;
// If an incoming stream can be created, return true.
virtual bool ShouldCreateIncomingStream(QuicStreamId id) = 0;
@@ -504,7 +503,6 @@
// If an outgoing bidirectional/unidirectional stream can be created, return
// true.
virtual bool ShouldCreateOutgoingBidirectionalStream() = 0;
- virtual bool ShouldCreateOutgoingUnidirectionalStream() = 0;
// Indicates whether the underlying backend can accept and process
// WebTransport sessions over HTTP/3.
diff --git a/quiche/quic/core/http/quic_spdy_session_test.cc b/quiche/quic/core/http/quic_spdy_session_test.cc
index dfec18a..34e532b 100644
--- a/quiche/quic/core/http/quic_spdy_session_test.cc
+++ b/quiche/quic/core/http/quic_spdy_session_test.cc
@@ -295,13 +295,6 @@
return stream;
}
- TestStream* CreateOutgoingUnidirectionalStream() override {
- TestStream* stream = new TestStream(GetNextOutgoingUnidirectionalStreamId(),
- this, WRITE_UNIDIRECTIONAL);
- ActivateStream(absl::WrapUnique(stream));
- return stream;
- }
-
TestStream* CreateIncomingStream(QuicStreamId id) override {
// Enforce the limit on the number of open streams.
if (!VersionHasIetfQuicFrames(connection()->transport_version()) &&
@@ -330,7 +323,6 @@
bool ShouldCreateIncomingStream(QuicStreamId /*id*/) override { return true; }
bool ShouldCreateOutgoingBidirectionalStream() override { return true; }
- bool ShouldCreateOutgoingUnidirectionalStream() override { return true; }
bool IsClosedStream(QuicStreamId id) {
return QuicSession::IsClosedStream(id);
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index c1ae371..3260f9c 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -121,8 +121,6 @@
(override));
MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
(override));
- MOCK_METHOD(QuicSpdyStream*, CreateOutgoingUnidirectionalStream, (),
- (override));
std::unique_ptr<QuicCryptoServerStreamBase> CreateQuicCryptoServerStream(
const QuicCryptoServerConfig* crypto_config,
diff --git a/quiche/quic/core/quic_session_test.cc b/quiche/quic/core/quic_session_test.cc
index 30480eb..257a69a 100644
--- a/quiche/quic/core/quic_session_test.cc
+++ b/quiche/quic/core/quic_session_test.cc
@@ -284,13 +284,6 @@
return stream;
}
- TestStream* CreateOutgoingUnidirectionalStream() {
- TestStream* stream = new TestStream(GetNextOutgoingUnidirectionalStreamId(),
- this, WRITE_UNIDIRECTIONAL);
- ActivateStream(absl::WrapUnique(stream));
- return stream;
- }
-
TestStream* CreateIncomingStream(QuicStreamId id) override {
// Enforce the limit on the number of open streams.
if (!VersionHasIetfQuicFrames(connection()->transport_version()) &&
@@ -792,20 +785,6 @@
CheckClosedStreams();
}
-TEST_P(QuicSessionTestServer, IsClosedUnidirectionalStreamLocallyCreated) {
- CompleteHandshake();
- TestStream* stream2 = session_.CreateOutgoingUnidirectionalStream();
- EXPECT_EQ(GetNthServerInitiatedUnidirectionalId(0), stream2->id());
- TestStream* stream4 = session_.CreateOutgoingUnidirectionalStream();
- EXPECT_EQ(GetNthServerInitiatedUnidirectionalId(1), stream4->id());
-
- CheckClosedStreams();
- CloseStream(GetNthServerInitiatedUnidirectionalId(0));
- CheckClosedStreams();
- CloseStream(GetNthServerInitiatedUnidirectionalId(1));
- CheckClosedStreams();
-}
-
TEST_P(QuicSessionTestServer, IsClosedBidirectionalStreamPeerCreated) {
CompleteHandshake();
QuicStreamId stream_id1 = GetNthClientInitiatedBidirectionalId(0);
@@ -3300,7 +3279,7 @@
session_.EnableReliableStreamReset();
MockPacketWriter* writer = static_cast<MockPacketWriter*>(
QuicConnectionPeer::GetWriter(session_.connection()));
- TestStream* write_only = session_.CreateOutgoingUnidirectionalStream();
+ TestStream* write_only = session_.CreateOutgoingBidirectionalStream();
EXPECT_CALL(*writer, WritePacket(_, _, _, _, _, _))
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0)));
session_.SendStreamData(write_only);
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index 4673d3f..2bc5c12 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -973,11 +973,8 @@
(override));
MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
(override));
- MOCK_METHOD(QuicSpdyStream*, CreateOutgoingUnidirectionalStream, (),
- (override));
MOCK_METHOD(bool, ShouldCreateIncomingStream, (QuicStreamId id), (override));
MOCK_METHOD(bool, ShouldCreateOutgoingBidirectionalStream, (), (override));
- MOCK_METHOD(bool, ShouldCreateOutgoingUnidirectionalStream, (), (override));
MOCK_METHOD(QuicConsumedData, WritevData,
(QuicStreamId id, size_t write_length, QuicStreamOffset offset,
StreamSendingState state, TransmissionType type,
@@ -1084,8 +1081,6 @@
(override));
MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
(override));
- MOCK_METHOD(QuicSpdyStream*, CreateOutgoingUnidirectionalStream, (),
- (override));
MOCK_METHOD(std::vector<absl::string_view>::const_iterator, SelectAlpn,
(const std::vector<absl::string_view>&), (const, override));
MOCK_METHOD(void, OnAlpnSelected, (absl::string_view), (override));
@@ -1151,11 +1146,8 @@
(override));
MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
(override));
- MOCK_METHOD(QuicSpdyStream*, CreateOutgoingUnidirectionalStream, (),
- (override));
MOCK_METHOD(bool, ShouldCreateIncomingStream, (QuicStreamId id), (override));
MOCK_METHOD(bool, ShouldCreateOutgoingBidirectionalStream, (), (override));
- MOCK_METHOD(bool, ShouldCreateOutgoingUnidirectionalStream, (), (override));
MOCK_METHOD(std::vector<std::string>, GetAlpnsToOffer, (), (const, override));
MOCK_METHOD(void, OnAlpnSelected, (absl::string_view), (override));
MOCK_METHOD(void, OnConfigNegotiated, (), (override));
diff --git a/quiche/quic/tools/quic_simple_server_session.cc b/quiche/quic/tools/quic_simple_server_session.cc
index 3c44348..6c74d90 100644
--- a/quiche/quic/tools/quic_simple_server_session.cc
+++ b/quiche/quic/tools/quic_simple_server_session.cc
@@ -95,19 +95,6 @@
return stream;
}
-QuicSimpleServerStream*
-QuicSimpleServerSession::CreateOutgoingUnidirectionalStream() {
- if (!ShouldCreateOutgoingUnidirectionalStream()) {
- return nullptr;
- }
-
- QuicSimpleServerStream* stream = new QuicSimpleServerStream(
- GetNextOutgoingUnidirectionalStreamId(), this, WRITE_UNIDIRECTIONAL,
- quic_simple_server_backend_);
- ActivateStream(absl::WrapUnique(stream));
- return stream;
-}
-
QuicStream* QuicSimpleServerSession::ProcessBidirectionalPendingStream(
PendingStream* pending) {
QUICHE_DCHECK(IsEncryptionEstablished());
diff --git a/quiche/quic/tools/quic_simple_server_session.h b/quiche/quic/tools/quic_simple_server_session.h
index 476f074..69f3d0e 100644
--- a/quiche/quic/tools/quic_simple_server_session.h
+++ b/quiche/quic/tools/quic_simple_server_session.h
@@ -55,7 +55,6 @@
QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override;
QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override;
QuicSpdyStream* CreateOutgoingBidirectionalStream() override;
- QuicSimpleServerStream* CreateOutgoingUnidirectionalStream() override;
// QuicServerSessionBaseMethod:
std::unique_ptr<QuicCryptoServerStreamBase> CreateQuicCryptoServerStream(
diff --git a/quiche/quic/tools/quic_simple_server_session_test.cc b/quiche/quic/tools/quic_simple_server_session_test.cc
index 85849b0..d290f81 100644
--- a/quiche/quic/tools/quic_simple_server_session_test.cc
+++ b/quiche/quic/tools/quic_simple_server_session_test.cc
@@ -64,11 +64,6 @@
QuicStreamId id) {
return s->CreateIncomingStream(id);
}
-
- static QuicSimpleServerStream* CreateOutgoingUnidirectionalStream(
- QuicSimpleServerSession* s) {
- return s->CreateOutgoingUnidirectionalStream();
- }
};
namespace {
@@ -403,43 +398,6 @@
EXPECT_EQ(GetNthClientInitiatedBidirectionalId(0), stream->id());
}
-TEST_P(QuicSimpleServerSessionTest, CreateOutgoingDynamicStreamDisconnected) {
- // EXPECT_QUIC_BUG tests are expensive so only run one instance of them.
- if (version() != AllSupportedVersions()[0]) {
- return;
- }
-
- // Tests that outgoing stream creation fails when connection is not connected.
- size_t initial_num_open_stream =
- QuicSessionPeer::GetNumOpenDynamicStreams(session_.get());
- QuicConnectionPeer::TearDownLocalConnectionState(connection_);
- EXPECT_QUIC_BUG(
- QuicSimpleServerSessionPeer::CreateOutgoingUnidirectionalStream(
- session_.get()),
- "ShouldCreateOutgoingUnidirectionalStream called when disconnected");
-
- EXPECT_EQ(initial_num_open_stream,
- QuicSessionPeer::GetNumOpenDynamicStreams(session_.get()));
-}
-
-TEST_P(QuicSimpleServerSessionTest, CreateOutgoingDynamicStreamUnencrypted) {
- // EXPECT_QUIC_BUG tests are expensive so only run one instance of them.
- if (version() != AllSupportedVersions()[0]) {
- return;
- }
-
- // Tests that outgoing stream creation fails when encryption has not yet been
- // established.
- size_t initial_num_open_stream =
- QuicSessionPeer::GetNumOpenDynamicStreams(session_.get());
- EXPECT_QUIC_BUG(
- QuicSimpleServerSessionPeer::CreateOutgoingUnidirectionalStream(
- session_.get()),
- "Encryption not established so no outgoing stream created.");
- EXPECT_EQ(initial_num_open_stream,
- QuicSessionPeer::GetNumOpenDynamicStreams(session_.get()));
-}
-
// Tests that calling GetOrCreateStream() on an outgoing stream should result in
// the connection being closed.
TEST_P(QuicSimpleServerSessionTest, GetEvenIncomingError) {