OLD | NEW |
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ | 5 #ifndef NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ |
6 #define NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ | 6 #define NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "net/base/host_port_pair.h" | 10 #include "net/base/host_port_pair.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 // for this SpdySessionKey, since we may need to wait for NPN to complete | 156 // for this SpdySessionKey, since we may need to wait for NPN to complete |
157 // before knowing if SPDY is available. | 157 // before knowing if SPDY is available. |
158 void SetSpdySessionKey(Job* job, | 158 void SetSpdySessionKey(Job* job, |
159 const SpdySessionKey& spdy_session_key) override; | 159 const SpdySessionKey& spdy_session_key) override; |
160 | 160 |
161 // Remove session from the SpdySessionRequestMap. | 161 // Remove session from the SpdySessionRequestMap. |
162 void RemoveRequestFromSpdySessionRequestMapForJob(Job* job) override; | 162 void RemoveRequestFromSpdySessionRequestMapForJob(Job* job) override; |
163 | 163 |
164 const NetLogWithSource* GetNetLog() const override; | 164 const NetLogWithSource* GetNetLog() const override; |
165 | 165 |
| 166 const QuicVersionVector& GetAdvertisedQuicVersions() const override; |
| 167 |
166 void MaybeSetWaitTimeForMainJob(const base::TimeDelta& delay) override; | 168 void MaybeSetWaitTimeForMainJob(const base::TimeDelta& delay) override; |
167 | 169 |
168 WebSocketHandshakeStreamBase::CreateHelper* | 170 WebSocketHandshakeStreamBase::CreateHelper* |
169 websocket_handshake_stream_create_helper() override; | 171 websocket_handshake_stream_create_helper() override; |
170 | 172 |
171 bool is_preconnect() const { return is_preconnect_; } | 173 bool is_preconnect() const { return is_preconnect_; } |
172 | 174 |
173 // Returns true if |this| has a pending request that is not completed. | 175 // Returns true if |this| has a pending request that is not completed. |
174 bool HasPendingRequest() const { return request_ != nullptr; } | 176 bool HasPendingRequest() const { return request_ != nullptr; } |
175 | 177 |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 // Enable using alternative services for the request. | 316 // Enable using alternative services for the request. |
315 const bool enable_alternative_services_; | 317 const bool enable_alternative_services_; |
316 | 318 |
317 // |main_job_| is a job waiting to see if |alternative_job_| can reuse a | 319 // |main_job_| is a job waiting to see if |alternative_job_| can reuse a |
318 // connection. If |alternative_job_| is unable to do so, |this| will notify | 320 // connection. If |alternative_job_| is unable to do so, |this| will notify |
319 // |main_job_| to proceed and then race the two jobs. | 321 // |main_job_| to proceed and then race the two jobs. |
320 std::unique_ptr<Job> main_job_; | 322 std::unique_ptr<Job> main_job_; |
321 std::unique_ptr<Job> alternative_job_; | 323 std::unique_ptr<Job> alternative_job_; |
322 // The alternative service used by |alternative_job_| | 324 // The alternative service used by |alternative_job_| |
323 // (or by |main_job_| if |is_preconnect_|.) | 325 // (or by |main_job_| if |is_preconnect_|.) |
324 AlternativeService alternative_service_; | 326 AlternativeServiceInfo alternative_service_info_; |
325 | 327 |
326 // Net error code of the failed alternative job. Set to OK by default. | 328 // Net error code of the failed alternative job. Set to OK by default. |
327 int alternative_job_net_error_; | 329 int alternative_job_net_error_; |
328 | 330 |
329 // True if a Job has ever been bound to the |request_|. | 331 // True if a Job has ever been bound to the |request_|. |
330 bool job_bound_; | 332 bool job_bound_; |
331 | 333 |
332 // True if the main job has to wait for the alternative job: i.e., the main | 334 // True if the main job has to wait for the alternative job: i.e., the main |
333 // job must not create a connection until it is resumed. | 335 // job must not create a connection until it is resumed. |
334 bool main_job_is_blocked_; | 336 bool main_job_is_blocked_; |
(...skipping 22 matching lines...) Expand all Loading... |
357 HttpStreamRequest::StreamType stream_type_; | 359 HttpStreamRequest::StreamType stream_type_; |
358 RequestPriority priority_; | 360 RequestPriority priority_; |
359 const NetLogWithSource net_log_; | 361 const NetLogWithSource net_log_; |
360 | 362 |
361 base::WeakPtrFactory<JobController> ptr_factory_; | 363 base::WeakPtrFactory<JobController> ptr_factory_; |
362 }; | 364 }; |
363 | 365 |
364 } // namespace net | 366 } // namespace net |
365 | 367 |
366 #endif // NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ | 368 #endif // NET_HTTP_HTTP_STREAM_FACTORY_IMPL_JOB_CONTROLLER_H_ |
OLD | NEW |