Update V8 to version 4.2.17 (based on b925fc56dec3acb4c1ea11412a43bdcf831d7f90).
[chromium-blink-merge.git] / components / devtools_bridge / socket_tunnel_packet_handler.h
blobdc64f307738d8f80bd26c9e9ae0ce521b5b11acc
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_DEVTOOLS_BRIDGE_SOCKET_TUNNEL_PACKET_HANDLER_H_
6 #define COMPONENTS_DEVTOOLS_BRIDGE_SOCKET_TUNNEL_PACKET_HANDLER_H_
8 #include "base/memory/ref_counted.h"
10 namespace net {
11 class IOBufferWithSize;
14 namespace devtools_bridge {
16 /**
17 * Abstract base class for handling SocketTunnelServer/Client messages.
19 class SocketTunnelPacketHandler {
20 public:
21 virtual void HandleControlPacket(int connection_index, int op_code) = 0;
22 virtual void HandleDataPacket(
23 int connection_index, scoped_refptr<net::IOBufferWithSize> data) = 0;
24 virtual void HandleProtocolError() = 0;
26 void DecodePacket(const void* data, size_t length);
28 protected:
29 SocketTunnelPacketHandler() {}
31 private:
32 DISALLOW_COPY_AND_ASSIGN(SocketTunnelPacketHandler);
35 } // namespace devtools_bridge
37 #endif // COMPONENTS_DEVTOOLS_BRIDGE_SOCKET_TUNNEL_PACKET_HANDLER_H_