Skip to content
This repository was archived by the owner on Oct 25, 2024. It is now read-only.

Commit b8d1fb5

Browse files
committed
Revert quic_io modifications
1 parent 944e788 commit b8d1fb5

17 files changed

+374
-421
lines changed

quic_io/build-gn.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
diff --git a/net/BUILD.gn b/net/BUILD.gn
2-
index 1f228f8cd35c..827f6f6649ed 100644
2+
index c2f0a78..7927d78 100644
33
--- a/net/BUILD.gn
44
+++ b/net/BUILD.gn
5-
@@ -2635,6 +2635,20 @@ source_set("simple_quic_tools") {
6-
"tools/quic/quic_transport_simple_server.h",
5+
@@ -3326,6 +3326,20 @@ source_set("simple_quic_tools") {
6+
"tools/quic/quic_simple_server_session_helper.h",
77
"tools/quic/synchronous_host_resolver.cc",
88
"tools/quic/synchronous_host_resolver.h",
99
+ "tools/quic/raw/quic_raw_stream.cc",
@@ -23,7 +23,7 @@ index 1f228f8cd35c..827f6f6649ed 100644
2323
]
2424
deps = [
2525
":net",
26-
@@ -2650,6 +2664,22 @@ source_set("simple_quic_tools") {
26+
@@ -3337,6 +3351,22 @@ source_set("simple_quic_tools") {
2727
}
2828

2929
if (!is_ios) {
@@ -44,5 +44,5 @@ index 1f228f8cd35c..827f6f6649ed 100644
4444
+ ]
4545
+ }
4646
executable("quic_client") {
47-
testonly = true
48-
sources = [ "tools/quic/quic_simple_client_bin.cc" ]
47+
sources = [
48+
"tools/quic/quic_simple_client_bin.cc",

quic_io/src/quic_raw_client.cc

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,23 @@
66

77
#include <utility>
88

9-
#include "base/memory/ptr_util.h"
9+
#include "base/logging.h"
1010
#include "base/run_loop.h"
1111
#include "base/threading/thread_task_runner_handle.h"
1212
#include "net/base/net_errors.h"
13-
#include "net/http/http_request_info.h"
14-
#include "net/http/http_response_info.h"
1513
#include "net/log/net_log_source.h"
1614
#include "net/log/net_log_with_source.h"
1715
#include "net/quic/quic_chromium_alarm_factory.h"
1816
#include "net/quic/quic_chromium_connection_helper.h"
1917
#include "net/quic/quic_chromium_packet_reader.h"
2018
#include "net/quic/quic_chromium_packet_writer.h"
2119
#include "net/socket/udp_client_socket.h"
22-
#include "net/spdy/spdy_http_utils.h"
23-
#include "net/third_party/quiche/src/quic/core/crypto/quic_random.h"
24-
#include "net/third_party/quiche/src/quic/core/http/spdy_utils.h"
25-
#include "net/third_party/quiche/src/quic/core/quic_connection.h"
26-
#include "net/third_party/quiche/src/quic/core/quic_packets.h"
27-
#include "net/third_party/quiche/src/quic/core/quic_server_id.h"
28-
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
29-
#include "net/third_party/quiche/src/quic/tools/quic_simple_client_session.h"
30-
#include "net/third_party/quiche/src/spdy/core/spdy_header_block.h"
20+
#include "net/third_party/quic/core/crypto/quic_random.h"
21+
#include "net/third_party/quic/core/quic_connection.h"
22+
#include "net/third_party/quic/core/quic_packets.h"
23+
#include "net/third_party/quic/core/quic_server_id.h"
24+
#include "net/third_party/quic/platform/api/quic_flags.h"
25+
#include "net/third_party/quic/platform/api/quic_ptr_util.h"
3126

3227
using std::string;
3328

@@ -44,9 +39,8 @@ QuicRawClient::QuicRawClient(
4439
quic::QuicConfig(),
4540
CreateQuicConnectionHelper(),
4641
CreateQuicAlarmFactory(),
47-
base::WrapUnique(CreateNetworkHelper()),
48-
std::move(proof_verifier),
49-
nullptr),
42+
quic::QuicWrapUnique(CreateNetworkHelper()),
43+
std::move(proof_verifier)),
5044
weak_factory_(this) {
5145
set_server_address(server_address);
5246
}

quic_io/src/quic_raw_client.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
#include "base/macros.h"
1313
#include "net/base/ip_address.h"
1414
#include "net/base/ip_endpoint.h"
15-
#include "net/http/http_response_headers.h"
1615
#include "net/log/net_log.h"
17-
#include "net/quic/platform/impl/quic_chromium_clock.h"
1816
#include "net/quic/quic_chromium_packet_reader.h"
19-
#include "net/third_party/quiche/src/quic/core/http/quic_spdy_stream.h"
20-
#include "net/third_party/quiche/src/quic/core/quic_config.h"
17+
#include "net/third_party/quic/core/quic_config.h"
18+
#include "net/third_party/quic/platform/impl/quic_chromium_clock.h"
2119
#include "net/tools/quic/quic_client_message_loop_network_helper.h"
2220

2321
#include "net/tools/quic/raw/quic_raw_client_base.h"
22+
#include "net/tools/quic/raw/quic_raw_stream.h"
23+
2424

2525
namespace net {
2626

quic_io/src/quic_raw_client_base.cc

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44

55
#include "net/tools/quic/raw/quic_raw_client_base.h"
66

7-
#include "net/third_party/quiche/src/quic/core/crypto/quic_random.h"
8-
#include "net/third_party/quiche/src/quic/core/quic_server_id.h"
9-
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
10-
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
7+
#include "net/third_party/quic/core/crypto/quic_random.h"
8+
#include "net/third_party/quic/core/quic_server_id.h"
9+
#include "net/third_party/quic/platform/api/quic_flags.h"
10+
#include "net/third_party/quic/platform/api/quic_logging.h"
11+
#include "net/third_party/quic/platform/api/quic_ptr_util.h"
12+
#include "net/third_party/quic/platform/api/quic_text_utils.h"
1113

12-
using std::string;
14+
using base::StringToInt;
1315

1416
namespace quic {
1517

@@ -20,16 +22,14 @@ QuicRawClientBase::QuicRawClientBase(
2022
QuicConnectionHelperInterface* helper,
2123
QuicAlarmFactory* alarm_factory,
2224
std::unique_ptr<NetworkHelper> network_helper,
23-
std::unique_ptr<ProofVerifier> proof_verifier,
24-
std::unique_ptr<SessionCache> session_cache)
25+
std::unique_ptr<ProofVerifier> proof_verifier)
2526
: QuicClientBase(server_id,
2627
supported_versions,
2728
config,
2829
helper,
2930
alarm_factory,
3031
std::move(network_helper),
31-
std::move(proof_verifier),
32-
std::move(session_cache)) {}
32+
std::move(proof_verifier)) {}
3333

3434
QuicRawClientBase::~QuicRawClientBase() {
3535
// If we own something. We need to explicitly kill
@@ -57,7 +57,7 @@ void QuicRawClientBase::OnData(QuicRawStream* stream, char* data, size_t len) {
5757
std::unique_ptr<QuicSession> QuicRawClientBase::CreateQuicClientSession(
5858
const quic::ParsedQuicVersionVector& supported_versions,
5959
QuicConnection* connection) {
60-
return std::make_unique<QuicRawClientSession>(
60+
return QuicMakeUnique<QuicRawClientSession>(
6161
connection, nullptr, *config(), supported_versions, server_id(),
6262
crypto_config());
6363
}
@@ -71,19 +71,12 @@ QuicRawStream* QuicRawClientBase::CreateClientStream() {
7171
auto* stream = static_cast<QuicRawStream*>(
7272
client_session()->CreateOutgoingBidirectionalStream());
7373
if (stream) {
74+
stream->SetPriority(QuicStream::kDefaultPriority);
7475
stream->set_visitor(this);
7576
}
7677
return stream;
7778
}
7879

79-
bool QuicRawClientBase::EarlyDataAccepted() {
80-
return client_session()->EarlyDataAccepted();
81-
}
82-
83-
bool QuicRawClientBase::ReceivedInchoateReject() {
84-
return client_session()->ReceivedInchoateReject();
85-
}
86-
8780
int QuicRawClientBase::GetNumSentClientHellosFromSession() {
8881
return client_session()->GetNumSentClientHellos();
8982
}
@@ -92,8 +85,4 @@ int QuicRawClientBase::GetNumReceivedServerConfigUpdatesFromSession() {
9285
return client_session()->GetNumReceivedServerConfigUpdates();
9386
}
9487

95-
bool QuicRawClientBase::HasActiveRequests() {
96-
return client_session()->HasActiveRequestStreams();
97-
}
98-
9988
} // namespace quic

quic_io/src/quic_raw_client_base.h

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111
#include <string>
1212

1313
#include "base/macros.h"
14-
#include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h"
15-
#include "net/third_party/quiche/src/quic/core/quic_config.h"
16-
#include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h"
17-
#include "net/third_party/quiche/src/quic/tools/quic_client_base.h"
14+
#include "net/third_party/quic/core/crypto/crypto_handshake.h"
15+
#include "net/third_party/quic/core/quic_config.h"
16+
#include "net/third_party/quic/platform/api/quic_socket_address.h"
17+
#include "net/third_party/quic/platform/api/quic_string_piece.h"
18+
#include "net/third_party/quic/tools/quic_client_base.h"
1819

19-
#include "net/tools/quic/raw/quic_raw_client_session.h"
2020
#include "net/tools/quic/raw/quic_raw_stream.h"
21+
#include "net/tools/quic/raw/quic_raw_client_session.h"
2122

2223

2324
namespace quic {
@@ -34,8 +35,7 @@ class QuicRawClientBase : public QuicClientBase,
3435
QuicConnectionHelperInterface* helper,
3536
QuicAlarmFactory* alarm_factory,
3637
std::unique_ptr<NetworkHelper> network_helper,
37-
std::unique_ptr<ProofVerifier> proof_verifier,
38-
std::unique_ptr<SessionCache> session_cache);
38+
std::unique_ptr<ProofVerifier> proof_verifier);
3939
QuicRawClientBase(const QuicRawClientBase&) = delete;
4040
QuicRawClientBase& operator=(const QuicRawClientBase&) = delete;
4141

@@ -64,9 +64,6 @@ class QuicRawClientBase : public QuicClientBase,
6464
protected:
6565
int GetNumSentClientHellosFromSession() override;
6666
int GetNumReceivedServerConfigUpdatesFromSession() override;
67-
bool EarlyDataAccepted() override;
68-
bool ReceivedInchoateReject() override;
69-
bool HasActiveRequests() override;
7067

7168
// Takes ownership of |connection|.
7269
std::unique_ptr<QuicSession> CreateQuicClientSession(

quic_io/src/quic_raw_client_session.cc

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33

44
#include <string>
55

6-
#include "net/third_party/quiche/src/quic/core/crypto/crypto_protocol.h"
7-
#include "net/third_party/quiche/src/quic/core/quic_server_id.h"
8-
#include "net/third_party/quiche/src/quic/core/quic_utils.h"
9-
#include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
10-
#include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
11-
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
12-
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
6+
#include "net/third_party/quic/core/crypto/crypto_protocol.h"
7+
#include "net/third_party/quic/core/quic_server_id.h"
8+
#include "net/third_party/quic/core/quic_utils.h"
9+
#include "net/third_party/quic/platform/api/quic_bug_tracker.h"
10+
#include "net/third_party/quic/platform/api/quic_flag_utils.h"
11+
#include "net/third_party/quic/platform/api/quic_flags.h"
12+
#include "net/third_party/quic/platform/api/quic_logging.h"
13+
#include "net/third_party/quic/platform/api/quic_ptr_util.h"
1314

1415
namespace quic {
1516

@@ -20,7 +21,7 @@ QuicRawClientSession::QuicRawClientSession(
2021
const ParsedQuicVersionVector& supported_versions,
2122
const QuicServerId& server_id,
2223
QuicCryptoClientConfig* crypto_config)
23-
: QuicSession(connection, visitor, config, supported_versions, 0u),
24+
: QuicSession(connection, visitor, config, supported_versions),
2425
server_id_(server_id),
2526
crypto_config_(crypto_config),
2627
respect_goaway_(false) {}
@@ -69,7 +70,7 @@ bool QuicRawClientSession::ShouldCreateOutgoingBidirectionalStream() {
6970
}
7071

7172
bool QuicRawClientSession::ShouldCreateOutgoingUnidirectionalStream() {
72-
QUIC_BUG(quic_bug_10396_1) << "Try to create outgoing unidirectional client data streams";
73+
QUIC_BUG << "Try to create outgoing unidirectional client data streams";
7374
return false;
7475
}
7576

@@ -86,15 +87,15 @@ QuicRawClientSession::CreateOutgoingBidirectionalStream() {
8687

8788
QuicRawStream*
8889
QuicRawClientSession::CreateOutgoingUnidirectionalStream() {
89-
QUIC_BUG(quic_bug_10396_2) << "Try to create outgoing unidirectional client data streams";
90+
QUIC_BUG << "Try to create outgoing unidirectional client data streams";
9091
return nullptr;
9192
}
9293

9394
std::unique_ptr<QuicRawStream>
9495
QuicRawClientSession::CreateClientStream() {
9596
//GetNextOutgoingBidirectionalStreamId
96-
return std::make_unique<QuicRawStream>(
97-
GetNextOutgoingBidirectionalStreamId(), this, BIDIRECTIONAL);
97+
return QuicMakeUnique<QuicRawStream>(
98+
GetNextOutgoingStreamId(), this, BIDIRECTIONAL);
9899
}
99100

100101
QuicCryptoClientStreamBase* QuicRawClientSession::GetMutableCryptoStream() {
@@ -119,20 +120,12 @@ int QuicRawClientSession::GetNumReceivedServerConfigUpdates() const {
119120
return crypto_stream_->num_scup_messages_received();
120121
}
121122

122-
bool QuicRawClientSession::EarlyDataAccepted() const {
123-
return crypto_stream_->EarlyDataAccepted();
124-
}
125-
126-
bool QuicRawClientSession::ReceivedInchoateReject() const {
127-
return crypto_stream_->ReceivedInchoateReject();
128-
}
129-
130123
bool QuicRawClientSession::ShouldCreateIncomingStream(QuicStreamId id) {
131124
if (!connection()->connected()) {
132-
QUIC_BUG(quic_bug_10396_3) << "ShouldCreateIncomingStream called when disconnected";
125+
QUIC_BUG << "ShouldCreateIncomingStream called when disconnected";
133126
return false;
134127
}
135-
if (transport_goaway_received() && respect_goaway_) {
128+
if (goaway_received() && respect_goaway_) {
136129
QUIC_DLOG(INFO) << "Failed to create a new outgoing stream. "
137130
<< "Already received goaway.";
138131
return false;
@@ -151,14 +144,6 @@ bool QuicRawClientSession::ShouldCreateIncomingStream(QuicStreamId id) {
151144
return true;
152145
}
153146

154-
QuicRawStream* QuicRawClientSession::CreateIncomingStream(
155-
PendingStream* pending) {
156-
QuicRawStream* stream =
157-
new QuicRawStream(pending, this, READ_UNIDIRECTIONAL);
158-
ActivateStream(absl::WrapUnique(stream));
159-
return stream;
160-
}
161-
162147
// QuicRawStream* QuicRawClientSession::CreateIncomingStream(
163148
// PendingStream pending) {
164149
// QuicRawStream* stream =
@@ -173,30 +158,25 @@ QuicRawStream* QuicRawClientSession::CreateIncomingStream(QuicStreamId id) {
173158
}
174159
QuicRawStream* stream =
175160
new QuicRawStream(id, this, READ_UNIDIRECTIONAL);
176-
ActivateStream(absl::WrapUnique(stream));
161+
ActivateStream(QuicWrapUnique(stream));
177162
return stream;
178163
}
179164

180165
std::unique_ptr<QuicCryptoClientStreamBase>
181166
QuicRawClientSession::CreateQuicCryptoStream() {
182-
return std::make_unique<QuicCryptoClientStream>(
167+
return QuicMakeUnique<QuicCryptoClientStream>(
183168
server_id_, this,
184169
crypto_config_->proof_verifier()->CreateDefaultContext(), crypto_config_,
185-
this, /*has_application_state = */ false);
170+
this);
186171
}
187172

188173
void QuicRawClientSession::OnConfigNegotiated() {
189174
QuicSession::OnConfigNegotiated();
190175
}
191176

192-
bool QuicRawClientSession::HasActiveRequestStreams() const {
193-
return GetNumActiveStreams() + num_draining_streams() > 0;
194-
}
195-
196-
bool QuicRawClientSession::ShouldKeepConnectionAlive() const {
197-
QUICHE_DCHECK(VersionUsesHttp3(transport_version()) ||
198-
0u == pending_streams_size());
199-
return GetNumActiveStreams() + pending_streams_size() > 0;
177+
void QuicRawClientSession::OnCryptoHandshakeEvent(
178+
CryptoHandshakeEvent event) {
179+
QuicSession::OnCryptoHandshakeEvent(event);
200180
}
201181

202182
} // namespace quic

0 commit comments

Comments
 (0)