| Index: components/devtools_bridge/socket_tunnel_connection.cc
|
| diff --git a/components/devtools_bridge/socket_tunnel_connection.cc b/components/devtools_bridge/socket_tunnel_connection.cc
|
| deleted file mode 100644
|
| index 2c01aa2856ad2c63ae6df114d60997f8d6e7c46b..0000000000000000000000000000000000000000
|
| --- a/components/devtools_bridge/socket_tunnel_connection.cc
|
| +++ /dev/null
|
| @@ -1,96 +0,0 @@
|
| -// Copyright 2014 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.
|
| -
|
| -#include "components/devtools_bridge/socket_tunnel_connection.h"
|
| -
|
| -#include <stdlib.h>
|
| -
|
| -#include "net/base/io_buffer.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "net/socket/stream_socket.h"
|
| -
|
| -namespace devtools_bridge {
|
| -
|
| -SocketTunnelConnection::SocketTunnelConnection(int index) : index_(index) {
|
| -}
|
| -
|
| -SocketTunnelConnection::~SocketTunnelConnection() {
|
| -}
|
| -
|
| -void SocketTunnelConnection::Write(scoped_refptr<net::IOBufferWithSize> chunk) {
|
| - // TODO(serya): While it is unlikely (socket normally much faster than
|
| - // data channel) we should disconnect if too much data buffered.
|
| - buffer_.push_back(chunk);
|
| - if (buffer_.size() == 1) {
|
| - current_ = new net::DrainableIOBuffer(chunk.get(), chunk->size());
|
| - WriteCurrent();
|
| - }
|
| -}
|
| -
|
| -void SocketTunnelConnection::BuildControlPacket(char* buffer,
|
| - int op_code) {
|
| - static_assert(kControlPacketSizeBytes == 3,
|
| - "kControlPacketSizeBytes should equal 3");
|
| - buffer[0] = kControlConnectionId;
|
| - buffer[1] = op_code;
|
| - buffer[2] = index_ + kMinConnectionId;
|
| -}
|
| -
|
| -void SocketTunnelConnection::WriteCurrent() {
|
| - while (true) {
|
| - while(current_->BytesRemaining() > 0) {
|
| - int result = socket()->Write(current_.get(), current_->BytesRemaining(),
|
| - base::Bind(&SocketTunnelConnection::OnWriteComplete,
|
| - base::Unretained(this)));
|
| - if (result > 0)
|
| - current_->DidConsume(result);
|
| - }
|
| - current_ = NULL;
|
| -
|
| - buffer_.pop_front();
|
| - if (buffer_.empty())
|
| - return; // Stop writing.
|
| -
|
| - net::IOBufferWithSize* chunk = buffer_.front().get();
|
| - current_ = new net::DrainableIOBuffer(chunk, chunk->size());
|
| - }
|
| -}
|
| -
|
| -void SocketTunnelConnection::OnWriteComplete(int result) {
|
| - if (result > 0) {
|
| - current_->DidConsume(result);
|
| - WriteCurrent();
|
| - }
|
| -}
|
| -
|
| -void SocketTunnelConnection::ReadNextChunk() {
|
| - if (!read_buffer_.get()) {
|
| - read_buffer_ = new net::GrowableIOBuffer();
|
| - read_buffer_->SetCapacity(kMaxPacketSizeBytes);
|
| - }
|
| - // Header of the data packet.
|
| - *read_buffer_->StartOfBuffer() = index_ + kMinConnectionId;
|
| - read_buffer_->set_offset(1);
|
| -
|
| - int result = socket()->Read(
|
| - read_buffer_.get(),
|
| - read_buffer_->RemainingCapacity(),
|
| - base::Bind(&SocketTunnelConnection::OnReadComplete,
|
| - base::Unretained(this)));
|
| - if (result == net::ERR_IO_PENDING)
|
| - return;
|
| - else
|
| - OnReadComplete(result);
|
| -}
|
| -
|
| -void SocketTunnelConnection::OnReadComplete(int result) {
|
| - if (result > 0) {
|
| - OnDataPacketRead(read_buffer_->StartOfBuffer(),
|
| - read_buffer_->offset() + result);
|
| - } else {
|
| - OnReadError(result);
|
| - }
|
| -}
|
| -
|
| -} // namespace devtools_bridge
|
|
|