Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(980)

Unified Diff: net/http/http_stream_factory_impl_job.cc

Issue 1793273004: Revert of Implement QUIC-based net::BidirectionalStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@basecl
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_stream_factory_impl_job.h ('k') | net/http/http_stream_factory_impl_request.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_stream_factory_impl_job.cc
diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc
index 35b04adf441788d6bafe0c6bb8783699f9fbe1ae..179fd9641df971fa4c8c369f0cf356a7054b9fd4 100644
--- a/net/http/http_stream_factory_impl_job.cc
+++ b/net/http/http_stream_factory_impl_job.cc
@@ -216,7 +216,7 @@
spdy_session_direct_(false),
job_status_(STATUS_RUNNING),
other_job_status_(STATUS_RUNNING),
- stream_type_(HttpStreamRequest::BIDIRECTIONAL_STREAM),
+ for_bidirectional_(false),
ptr_factory_(this) {
DCHECK(stream_factory);
DCHECK(session);
@@ -248,8 +248,8 @@
void HttpStreamFactoryImpl::Job::Start(Request* request) {
DCHECK(request);
request_ = request;
- // Saves |stream_type_|, since request is nulled when job is orphaned.
- stream_type_ = request_->stream_type();
+ // Saves |for_bidirectional_|, since request is nulled when job is orphaned.
+ for_bidirectional_ = request_->for_bidirectional();
StartInternal();
}
@@ -502,7 +502,7 @@
}
stream_factory_->OnOrphanedJobComplete(this);
} else {
- if (stream_type_ == HttpStreamRequest::BIDIRECTIONAL_STREAM) {
+ if (for_bidirectional_) {
#if BUILDFLAG(ENABLE_BIDIRECTIONAL_STREAM)
DCHECK(bidirectional_stream_job_);
request_->OnNewSpdySessionReady(this, /*spdy_http_stream=*/nullptr,
@@ -511,6 +511,7 @@
#else
DCHECK(false);
#endif
+
} else {
DCHECK(stream_);
request_->OnNewSpdySessionReady(this, std::move(stream_),
@@ -703,7 +704,7 @@
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&Job::OnWebSocketHandshakeStreamReadyCallback,
ptr_factory_.GetWeakPtr()));
- } else if (stream_type_ == HttpStreamRequest::BIDIRECTIONAL_STREAM) {
+ } else if (for_bidirectional_) {
#if BUILDFLAG(ENABLE_BIDIRECTIONAL_STREAM)
if (!bidirectional_stream_job_) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
@@ -1016,6 +1017,7 @@
destination = server_;
ssl_config = &server_ssl_config_;
}
+
int rv =
quic_request_.Request(destination, request_info_.privacy_mode,
ssl_config->GetCertVerifyFlags(), url,
@@ -1257,23 +1259,7 @@
MaybeMarkAlternativeServiceBroken();
return result;
}
- if (stream_type_ == HttpStreamRequest::BIDIRECTIONAL_STREAM) {
-#if BUILDFLAG(ENABLE_BIDIRECTIONAL_STREAM)
- bidirectional_stream_job_ = quic_request_.CreateBidirectionalStreamJob();
- if (!bidirectional_stream_job_) {
- // Quic session is closed before stream can be created.
- return ERR_CONNECTION_CLOSED;
- }
-#else
- NOTREACHED();
-#endif
- } else {
- stream_ = quic_request_.CreateStream();
- if (!stream_) {
- // Quic session is closed before stream can be created.
- return ERR_CONNECTION_CLOSED;
- }
- }
+ stream_ = quic_request_.ReleaseStream();
next_state_ = STATE_NONE;
return OK;
}
@@ -1330,12 +1316,13 @@
// implemented.
if (stream_factory_->for_websockets_)
return ERR_NOT_IMPLEMENTED;
- if (stream_type_ == HttpStreamRequest::BIDIRECTIONAL_STREAM) {
+ if (for_bidirectional_) {
#if BUILDFLAG(ENABLE_BIDIRECTIONAL_STREAM)
+ // TODO(xunjieli): Create QUIC's version of BidirectionalStreamJob.
bidirectional_stream_job_.reset(new BidirectionalStreamSpdyJob(session));
return OK;
#else
- NOTREACHED();
+ DCHECK(false);
return ERR_FAILED;
#endif
}
« no previous file with comments | « net/http/http_stream_factory_impl_job.h ('k') | net/http/http_stream_factory_impl_request.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698