Index: net/http/http_stream_factory_impl_job.h |
diff --git a/net/http/http_stream_factory_impl_job.h b/net/http/http_stream_factory_impl_job.h |
index 94c1b748bea76d65dec2236b8b78cda20c4379de..0e7dcc898fe920718b531f3a428a8bebae26e19e 100644 |
--- a/net/http/http_stream_factory_impl_job.h |
+++ b/net/http/http_stream_factory_impl_job.h |
@@ -27,6 +27,7 @@ |
namespace net { |
+class BidirectionalStreamJob; |
class ClientSocketHandle; |
class HttpAuthController; |
class HttpNetworkSession; |
@@ -87,6 +88,7 @@ class HttpStreamFactoryImpl::Job { |
NextProto protocol_negotiated() const; |
bool using_spdy() const; |
const BoundNetLog& net_log() const { return net_log_; } |
+ bool for_bidirectional() const { return for_bidirectional_; } |
const SSLConfig& server_ssl_config() const; |
const SSLConfig& proxy_ssl_config() const; |
@@ -195,6 +197,7 @@ class HttpStreamFactoryImpl::Job { |
}; |
void OnStreamReadyCallback(); |
+ void OnBidirectionalStreamJobReadyCallback(); |
void OnWebSocketHandshakeStreamReadyCallback(); |
// This callback function is called when a new SPDY session is created. |
void OnNewSpdySessionReadyCallback(); |
@@ -229,9 +232,12 @@ class HttpStreamFactoryImpl::Job { |
int DoRestartTunnelAuth(); |
int DoRestartTunnelAuthComplete(int result); |
- // Creates a SpdyHttpStream from the given values and sets to |stream_|. Does |
+ // Creates a SpdyHttpStream or a BidirectionalStreamJob from the given values |
+ // and sets to |stream_| or |bidirectional_stream_job_| respectively. Does |
// nothing if |stream_factory_| is for WebSockets. |
- int SetSpdyHttpStream(base::WeakPtr<SpdySession> session, bool direct); |
+ int SetSpdyHttpStreamOrBidirectionalStreamJob( |
+ base::WeakPtr<SpdySession> session, |
+ bool direct); |
// Returns to STATE_INIT_CONNECTION and resets some state. |
void ReturnToStateInitConnection(bool close_connection); |
@@ -369,6 +375,7 @@ class HttpStreamFactoryImpl::Job { |
scoped_ptr<HttpStream> stream_; |
scoped_ptr<WebSocketHandshakeStreamBase> websocket_stream_; |
+ scoped_ptr<BidirectionalStreamJob> bidirectional_stream_job_; |
// True if we negotiated NPN. |
bool was_npn_negotiated_; |
@@ -394,6 +401,9 @@ class HttpStreamFactoryImpl::Job { |
JobStatus job_status_; |
JobStatus other_job_status_; |
+ // True if BidirectionalStreamJob is requested. |
+ bool for_bidirectional_; |
+ |
base::WeakPtrFactory<Job> ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(Job); |