Index: net/websockets/websocket_job.h |
diff --git a/net/websockets/websocket_job.h b/net/websockets/websocket_job.h |
index 369ef56d1c837bf2a9eaccc42f0a0a11d7b2e302..6f9916312c1cbef964872845c0d7d86b6e91a7a2 100644 |
--- a/net/websockets/websocket_job.h |
+++ b/net/websockets/websocket_job.h |
@@ -13,6 +13,7 @@ |
#include "net/base/address_list.h" |
#include "net/base/completion_callback.h" |
#include "net/socket_stream/socket_stream_job.h" |
+#include "net/spdy/spdy_websocket_stream.h" |
class GURL; |
@@ -31,7 +32,8 @@ class WebSocketHandshakeResponseHandler; |
// TODO(ukai): refactor websocket.cc to use this. |
class NET_API WebSocketJob |
: public SocketStreamJob, |
- public SocketStream::Delegate { |
+ public SocketStream::Delegate, |
+ public SpdyWebSocketStream::Delegate { |
public: |
// This is state of WebSocket, not SocketStream. |
enum State { |
@@ -70,6 +72,15 @@ class NET_API WebSocketJob |
SocketStream* socket, AuthChallengeInfo* auth_info); |
virtual void OnError(const SocketStream* socket, int error); |
+ // SpdyWebSocketStream::Delegate methods. |
+ virtual void OnCreatedSpdyStream(int status); |
+ virtual void OnSentSpdyHeaders(int status); |
+ virtual int OnReceivedSpdyResponseHeader( |
+ const spdy::SpdyHeaderBlock& headers, int status); |
+ virtual void OnSentSpdyData(int amount_sent); |
+ virtual void OnReceivedSpdyData(const char* data, int length); |
+ virtual void OnCloseSpdyStream(); |
+ |
private: |
friend class WebSocketThrottle; |
friend class WebSocketJobTest; |
@@ -118,6 +129,9 @@ class NET_API WebSocketJob |
scoped_refptr<DrainableIOBuffer> current_buffer_; |
scoped_ptr<WebSocketFrameHandler> receive_frame_handler_; |
+ scoped_ptr<SpdyWebSocketStream> spdy_websocket_stream_; |
+ std::string challenge_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WebSocketJob); |
}; |