summaryrefslogtreecommitdiffstats
path: root/net/websockets/websocket_frame_handler.h
diff options
context:
space:
mode:
authoryutak@chromium.org <yutak@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 10:14:02 +0000
committeryutak@chromium.org <yutak@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 10:14:02 +0000
commitb2c5460ef9ff1c85df3baaeb4dca032a8892e20a (patch)
treee84c98d2e81b318fde70961e7f5def393b4f8460 /net/websockets/websocket_frame_handler.h
parent53d143fd56935ed1fea50e708835e68f4b82d4e3 (diff)
downloadchromium_src-b2c5460ef9ff1c85df3baaeb4dca032a8892e20a.zip
chromium_src-b2c5460ef9ff1c85df3baaeb4dca032a8892e20a.tar.gz
chromium_src-b2c5460ef9ff1c85df3baaeb4dca032a8892e20a.tar.bz2
Remove WebSocketFrameHandler.
WebSocketFrameHandler supports only old frame format (hybi-00) and its parser functionality has never been used (i.e. used with unbuffered mode) for a long time. This change removes WebSocketFrameHandler and lets WebSocketJob handle incoming and outgoing frame data directly. BUG=none TEST=none Review URL: http://codereview.chromium.org/9112003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122074 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets/websocket_frame_handler.h')
-rw-r--r--net/websockets/websocket_frame_handler.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/net/websockets/websocket_frame_handler.h b/net/websockets/websocket_frame_handler.h
deleted file mode 100644
index b06122e..0000000
--- a/net/websockets/websocket_frame_handler.h
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef NET_WEBSOCKETS_WEBSOCKET_FRAME_HANDLER_H_
-#define NET_WEBSOCKETS_WEBSOCKET_FRAME_HANDLER_H_
-#pragma once
-
-#include <deque>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/memory/ref_counted.h"
-#include "net/base/net_export.h"
-
-namespace net {
-
-class IOBuffer;
-class IOBufferWithSize;
-
-// Handles WebSocket frame messages.
-class NET_EXPORT_PRIVATE WebSocketFrameHandler {
- public:
- struct FrameInfo {
- const char* frame_start;
- int frame_length;
- const char* message_start;
- int message_length;
- };
-
- WebSocketFrameHandler();
- ~WebSocketFrameHandler();
-
- // Appends WebSocket raw data on connection.
- // For sending, this is data from WebKit.
- // For receiving, this is data from network.
- void AppendData(const char* data, int len);
-
- // Updates current IOBuffer.
- // If |buffered| is true, it tries to find WebSocket frames.
- // Otherwise, it just picks the first buffer in |pending_buffers_|.
- // Returns available size of data, 0 if no more data or current buffer was
- // not released, and negative if some error occurred.
- int UpdateCurrentBuffer(bool buffered);
-
- // Gets current IOBuffer.
- // For sending, this is data to network.
- // For receiving, this is data to WebKit.
- // Returns NULL just after ReleaseCurrentBuffer() was called.
- IOBuffer* GetCurrentBuffer() { return current_buffer_.get(); }
- int GetCurrentBufferSize() const { return current_buffer_size_; }
-
- // Returns original buffer size of current IOBuffer.
- // This might differ from GetCurrentBufferSize() if frame message is
- // compressed or decompressed.
- int GetOriginalBufferSize() const { return original_current_buffer_size_; }
-
- // Releases current IOBuffer.
- void ReleaseCurrentBuffer();
-
- // Parses WebSocket frame in [|buffer|, |buffer|+|size|), fills frame
- // information in |frame_info|, and returns number of bytes for
- // complete WebSocket frames.
- static int ParseWebSocketFrame(const char* buffer, int size,
- std::vector<FrameInfo>* frame_info);
-
- private:
- typedef std::deque< scoped_refptr<IOBufferWithSize> > PendingDataQueue;
-
- scoped_refptr<IOBuffer> current_buffer_;
- int current_buffer_size_;
-
- int original_current_buffer_size_;
-
- // Deque of IOBuffers in pending.
- PendingDataQueue pending_buffers_;
-
- DISALLOW_COPY_AND_ASSIGN(WebSocketFrameHandler);
-};
-
-} // namespace net
-
-#endif // NET_WEBSOCKETS_WEBSOCKET_FRAME_HANDLER_H_