| 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..72da47220a58f85ecbfee8375d1b772241b8c7d3 100644
|
| --- a/net/websockets/websocket_deflate_stream.h
|
| +++ b/net/websockets/websocket_deflate_stream.h
|
| @@ -21,6 +21,8 @@ class GURL;
|
|
|
| namespace net {
|
|
|
| +class WebSocketDeflatePredictor;
|
| +
|
| // WebSocketDeflateStream is a WebSocketStream subclass.
|
| // WebSocketDeflateStream is for permessage-deflate WebSocket extension[1].
|
| //
|
| @@ -28,7 +30,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 +53,7 @@ class NET_EXPORT_PRIVATE WebSocketDeflateStream : public WebSocketStream {
|
| enum WritingState {
|
| WRITING_COMPRESSED_MESSAGE,
|
| WRITING_UNCOMPRESSED_MESSAGE,
|
| + WRITING_POSSIBLY_COMPRESSED_MESSAGE,
|
| NOT_WRITING,
|
| };
|
|
|
| @@ -59,6 +63,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 +83,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);
|
| };
|
|
|