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"
11 class IOBufferWithSize
;
14 namespace devtools_bridge
{
17 * Abstract base class for handling SocketTunnelServer/Client messages.
19 class SocketTunnelPacketHandler
{
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
);
29 SocketTunnelPacketHandler() {}
32 DISALLOW_COPY_AND_ASSIGN(SocketTunnelPacketHandler
);
35 } // namespace devtools_bridge
37 #endif // COMPONENTS_DEVTOOLS_BRIDGE_SOCKET_TUNNEL_PACKET_HANDLER_H_