Index: net/http/http_stream_factory_impl.h |
diff --git a/net/http/http_stream_factory_impl.h b/net/http/http_stream_factory_impl.h |
index 9d6e1335ef0530dbaae08b182755c249a70e99e1..548cc98f43760fee1715919554cda77da01a6ad0 100644 |
--- a/net/http/http_stream_factory_impl.h |
+++ b/net/http/http_stream_factory_impl.h |
@@ -11,6 +11,7 @@ |
#include "base/ref_counted.h" |
#include "net/http/http_stream_factory.h" |
+#include "net/base/net_log.h" |
#include "net/proxy/proxy_server.h" |
namespace net { |
@@ -44,20 +45,29 @@ class HttpStreamFactoryImpl : public HttpStreamFactory { |
typedef std::set<Request*> RequestSet; |
typedef std::map<HostPortProxyPair, RequestSet> SpdySessionRequestMap; |
- LoadState GetLoadState(const Request& request) const; |
+ // Detaches |job| from |request|. |
+ void OrphanJob(Job* job, const Request* request); |
// Called when a SpdySession is ready. It will find appropriate Requests and |
// fulfill them. |direct| indicates whether or not |spdy_session| uses a |
// proxy. |
- void OnSpdySessionReady(const Job* job, |
- scoped_refptr<SpdySession> spdy_session, |
- bool direct); |
+ void OnSpdySessionReady(scoped_refptr<SpdySession> spdy_session, |
+ bool direct, |
+ const SSLConfig& used_ssl_config, |
+ const ProxyInfo& used_proxy_info, |
+ bool was_alternate_protocol_available, |
+ bool was_npn_negotiated, |
+ bool using_spdy, |
+ const NetLog::Source& source); |
// Called when the Job detects that the endpoint indicated by the |
// Alternate-Protocol does not work. Lets the factory update |
// HttpAlternateProtocols with the failure and resets the SPDY session key. |
void OnBrokenAlternateProtocol(const Job*, const HostPortPair& origin); |
+ // Invoked when an orphaned Job finishes. |
+ void OnOrphanedJobComplete(const Job* job); |
+ |
// Invoked when the Job finishes preconnecting sockets. |
void OnPreconnectsComplete(const Job* job); |
@@ -75,6 +85,11 @@ class HttpStreamFactoryImpl : public HttpStreamFactory { |
SpdySessionRequestMap spdy_session_request_map_; |
+ // These jobs correspond to jobs orphaned by requests and now owned by |
+ // HttpStreamFactoryImpl. Leftover jobs will be deleted when the factory is |
+ // destroyed. |
Mike Belshe
2011/03/01 17:09:19
"...deleted when the factory is destroyed." sounds
willchan no longer on Chromium
2011/03/01 17:48:27
Oh, I'll clarify this comment. What I mean is that
|
+ std::set<const Job*> orphaned_job_set_; |
+ |
// These jobs correspond to preconnect requests and have no associated Request |
// object. They're owned by HttpStreamFactoryImpl. Leftover jobs will be |
// deleted when the factory is destroyed. |