Index: remoting/protocol/messages_decoder.h |
diff --git a/remoting/protocol/messages_decoder.h b/remoting/protocol/messages_decoder.h |
deleted file mode 100644 |
index b22f6ba40e08ed31d67e6c9cb08066145bfbef5d..0000000000000000000000000000000000000000 |
--- a/remoting/protocol/messages_decoder.h |
+++ /dev/null |
@@ -1,90 +0,0 @@ |
-// Copyright (c) 2010 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 REMOTING_PROTOCOL_MESSAGES_DECODER_H_ |
-#define REMOTING_PROTOCOL_MESSAGES_DECODER_H_ |
- |
-#include <deque> |
-#include <list> |
- |
-#include "base/ref_counted.h" |
-#include "google/protobuf/message_lite.h" |
-#include "remoting/proto/internal.pb.h" |
- |
-namespace net { |
-class IOBuffer; |
-} |
- |
-namespace remoting { |
- |
-typedef std::list<ChromotingHostMessage*> HostMessageList; |
-typedef std::list<ChromotingClientMessage*> ClientMessageList; |
- |
-// A protocol decoder is used to decode data transmitted in the chromoting |
-// network. |
-// TODO(hclam): Defines the interface and implement methods. |
-class MessagesDecoder { |
- public: |
- MessagesDecoder(); |
- virtual ~MessagesDecoder(); |
- |
- // Parse data received from network into ClientMessages. Output is written |
- // to |messages|. |
- virtual void ParseClientMessages(scoped_refptr<net::IOBuffer> data, |
- int data_size, |
- ClientMessageList* messages); |
- |
- // Parse data received from network into HostMessages. Output is |
- // written to |messages|. |
- virtual void ParseHostMessages(scoped_refptr<net::IOBuffer> data, |
- int data_size, |
- HostMessageList* messages); |
- |
- private: |
- // DataChunk stores reference to a net::IOBuffer and size of the data |
- // stored in that buffer. |
- struct DataChunk { |
- DataChunk(net::IOBuffer* data, size_t data_size); |
- ~DataChunk(); |
- |
- scoped_refptr<net::IOBuffer> data; |
- size_t data_size; |
- }; |
- |
- // TODO(sergeyu): It might be more efficient to memcopy data to one big buffer |
- // instead of storing chunks in dqueue. |
- typedef std::deque<DataChunk> DataList; |
- |
- // A private method used to parse data received from network into protocol |
- // buffers. |
- template <typename T> |
- void ParseMessages(scoped_refptr<net::IOBuffer> data, |
- int data_size, |
- std::list<T*>* messages); |
- |
- // Parse one message from |data_list_|. Return true if sucessful. |
- template <typename T> |
- bool ParseOneMessage(T** messages); |
- |
- // A utility method to read payload size of the protocol buffer from the |
- // data list. Return false if we don't have enough data. |
- bool GetPayloadSize(int* size); |
- |
- DataList data_list_; |
- size_t last_read_position_; |
- |
- // Count the number of bytes in |data_list_| not read. |
- size_t available_bytes_; |
- |
- // Stores the size of the next payload if known. |
- size_t next_payload_; |
- |
- // True if the size of the next payload is known. After one payload is read, |
- // this is reset to false. |
- bool next_payload_known_; |
-}; |
- |
-} // namespace remoting |
- |
-#endif // REMOTING_PROTOCOL_MESSAGES_DECODER_H_ |