| Index: net/http/http_stream_factory_impl_job_controller.h
|
| diff --git a/net/http/http_stream_factory_impl_job_controller.h b/net/http/http_stream_factory_impl_job_controller.h
|
| index db1e572672b3f2efee0a1f4238266ac88bdd536f..cf78c8d202eabcff8f6a61033efa00bc27aa7fca 100644
|
| --- a/net/http/http_stream_factory_impl_job_controller.h
|
| +++ b/net/http/http_stream_factory_impl_job_controller.h
|
| @@ -133,6 +133,15 @@ class HttpStreamFactoryImpl::JobController
|
| Job* job,
|
| const ConnectionAttempts& attempts) override;
|
|
|
| + // Invoked when |job| finishes initiating a connection.
|
| + // Resume the other job if there's an error raised.
|
| + void OnConnectionInitialized(Job* job, int rv) override;
|
| +
|
| + // Return false if |job| has no blocking job and there's no wait time,
|
| + // i.e., |job| won't call Job::ResumeAfterDelay(). Else true and resume
|
| + // |job| with appropriate wait time.
|
| + bool ShouldWait(Job* job) const override;
|
| +
|
| // Called when |job| determines the appropriate |spdy_session_key| for the
|
| // Request. Note that this does not mean that SPDY is necessarily supported
|
| // for this SpdySessionKey, since we may need to wait for NPN to complete
|
| @@ -143,6 +152,11 @@ class HttpStreamFactoryImpl::JobController
|
| // Remove session from the SpdySessionRequestMap.
|
| void RemoveRequestFromSpdySessionRequestMapForJob(Job* job) override;
|
| const BoundNetLog* GetNetLog(Job* job) const override;
|
| +
|
| + bool main_job_is_blocked() override;
|
| + const base::TimeDelta& wait_time_for_main_job() const override;
|
| + void set_wait_time_for_main_job(const base::TimeDelta& delay) override;
|
| +
|
| WebSocketHandshakeStreamBase::CreateHelper*
|
| websocket_handshake_stream_create_helper() override;
|
|
|
| @@ -184,6 +198,9 @@ class HttpStreamFactoryImpl::JobController
|
|
|
| void MaybeNotifyFactoryOfCompletion();
|
|
|
| + // Called to resume the main job with delay.
|
| + void MaybeResumeMainJob(Job* job, const base::TimeDelta& delay);
|
| +
|
| // Returns true if QUIC is whitelisted for |host|.
|
| bool IsQuicWhitelistedForHost(const std::string& host);
|
|
|
| @@ -224,6 +241,11 @@ class HttpStreamFactoryImpl::JobController
|
| // True if a Job has ever been bound to the |request_|.
|
| bool job_bound_;
|
|
|
| + // True if the |main_job_| has to wait for |alternative_job_|. The delay
|
| + // is specified in |main_job_wait_time_|.
|
| + bool main_job_is_blocked_;
|
| + base::TimeDelta main_job_wait_time_;
|
| +
|
| // At the point where a Job is irrevocably tied to |request_|, we set this.
|
| // It will be nulled when the |request_| is finished.
|
| Job* bound_job_;
|
|
|