Index: net/websockets/websocket_deflate_stream.h |
diff --git a/net/websockets/websocket_deflate_stream.h b/net/websockets/websocket_deflate_stream.h |
index fc2ebf4c4e44879cdf7a81f8181035273eef8e73..e9ff11a12fd8795dcada83ac88d7536804ef978b 100644 |
--- a/net/websockets/websocket_deflate_stream.h |
+++ b/net/websockets/websocket_deflate_stream.h |
@@ -12,6 +12,7 @@ |
#include "base/memory/scoped_vector.h" |
#include "net/base/completion_callback.h" |
#include "net/base/net_export.h" |
+#include "net/websockets/websocket_deflate_predictor.h" |
Adam Rice
2013/10/30 02:56:53
WebSocketDeflatePredictor can be pre-declared rath
yhirano
2013/10/30 03:19:47
Done.
|
#include "net/websockets/websocket_deflater.h" |
#include "net/websockets/websocket_frame.h" |
#include "net/websockets/websocket_inflater.h" |
@@ -28,7 +29,8 @@ namespace net { |
class NET_EXPORT_PRIVATE WebSocketDeflateStream : public WebSocketStream { |
public: |
WebSocketDeflateStream(scoped_ptr<WebSocketStream> stream, |
- WebSocketDeflater::ContextTakeOverMode mode); |
+ WebSocketDeflater::ContextTakeOverMode mode, |
+ scoped_ptr<WebSocketDeflatePredictor> predictor); |
virtual ~WebSocketDeflateStream(); |
// WebSocketStream functions. |
@@ -50,6 +52,7 @@ class NET_EXPORT_PRIVATE WebSocketDeflateStream : public WebSocketStream { |
enum WritingState { |
WRITING_COMPRESSED_MESSAGE, |
WRITING_UNCOMPRESSED_MESSAGE, |
+ WRITING_POSSIBLY_COMPRESSED_MESSAGE, |
NOT_WRITING, |
}; |
@@ -59,6 +62,12 @@ class NET_EXPORT_PRIVATE WebSocketDeflateStream : public WebSocketStream { |
// This function deflates |frames| and stores the result to |frames| itself. |
int Deflate(ScopedVector<WebSocketFrame>* frames); |
+ void OnMessageStart(const ScopedVector<WebSocketFrame>& frames, size_t index); |
+ int AppendCompressedFrame(const WebSocketFrameHeader& header, |
+ ScopedVector<WebSocketFrame>* frames_to_write); |
+ int AppendPossiblyCompressedMessage( |
+ ScopedVector<WebSocketFrame>* frames, |
+ ScopedVector<WebSocketFrame>* frames_to_write); |
// This function inflates |frames| and stores the result to |frames| itself. |
int Inflate(ScopedVector<WebSocketFrame>* frames); |
@@ -73,6 +82,7 @@ class NET_EXPORT_PRIVATE WebSocketDeflateStream : public WebSocketStream { |
WritingState writing_state_; |
WebSocketFrameHeader::OpCode current_reading_opcode_; |
WebSocketFrameHeader::OpCode current_writing_opcode_; |
+ scoped_ptr<WebSocketDeflatePredictor> predictor_; |
DISALLOW_COPY_AND_ASSIGN(WebSocketDeflateStream); |
}; |