Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: content/renderer/p2p/p2p_transport_impl.cc

Issue 10854131: Remove obsolete webkit_glue::P2PTransport interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/p2p/p2p_transport_impl.h ('k') | content/renderer/p2p/p2p_transport_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/p2p/p2p_transport_impl.cc
diff --git a/content/renderer/p2p/p2p_transport_impl.cc b/content/renderer/p2p/p2p_transport_impl.cc
deleted file mode 100644
index bce4181ec4a5f880ab3ca6e1af846930729a0548..0000000000000000000000000000000000000000
--- a/content/renderer/p2p/p2p_transport_impl.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright (c) 2012 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 "content/renderer/p2p/p2p_transport_impl.h"
-
-#include "content/renderer/p2p/ipc_network_manager.h"
-#include "content/renderer/p2p/ipc_socket_factory.h"
-#include "content/renderer/p2p/port_allocator.h"
-#include "jingle/glue/channel_socket_adapter.h"
-#include "jingle/glue/pseudotcp_adapter.h"
-#include "jingle/glue/thread_wrapper.h"
-#include "jingle/glue/utils.h"
-#include "net/base/net_errors.h"
-#include "third_party/libjingle/source/talk/base/helpers.h"
-#include "third_party/libjingle/source/talk/p2p/base/constants.h"
-#include "third_party/libjingle/source/talk/p2p/base/p2ptransportchannel.h"
-#include "third_party/libjingle/source/talk/p2p/client/basicportallocator.h"
-
-namespace content {
-
-P2PTransportImpl::P2PTransportImpl(
- talk_base::NetworkManager* network_manager,
- talk_base::PacketSocketFactory* socket_factory)
- : socket_dispatcher_(NULL),
- event_handler_(NULL),
- state_(STATE_NONE),
- network_manager_(network_manager),
- socket_factory_(socket_factory) {
-}
-
-P2PTransportImpl::P2PTransportImpl(P2PSocketDispatcher* socket_dispatcher)
- : socket_dispatcher_(socket_dispatcher),
- event_handler_(NULL),
- state_(STATE_NONE),
- network_manager_(new IpcNetworkManager(socket_dispatcher)),
- socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)) {
- DCHECK(socket_dispatcher);
-}
-
-P2PTransportImpl::~P2PTransportImpl() {
- MessageLoop* message_loop = MessageLoop::current();
-
- // Because libjingle's sigslot doesn't handle deletion from a signal
- // handler we have to postpone deletion of libjingle objects.
- message_loop->DeleteSoon(FROM_HERE, channel_.release());
- message_loop->DeleteSoon(FROM_HERE, allocator_.release());
- message_loop->DeleteSoon(FROM_HERE, socket_factory_.release());
- message_loop->DeleteSoon(FROM_HERE, network_manager_.release());
-}
-
-bool P2PTransportImpl::Init(WebKit::WebFrame* web_frame,
- const std::string& name,
- Protocol protocol,
- const Config& config,
- EventHandler* event_handler) {
- DCHECK(event_handler);
-
- // Before proceeding, ensure we have libjingle thread wrapper for
- // the current thread.
- jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop();
-
- name_ = name;
- event_handler_ = event_handler;
-
- if (socket_dispatcher_) {
- DCHECK(web_frame);
- allocator_.reset(new P2PPortAllocator(
- web_frame, socket_dispatcher_, network_manager_.get(),
- socket_factory_.get(), config));
- } else {
- // Use BasicPortAllocator if we don't have P2PSocketDispatcher
- // (for unittests).
- allocator_.reset(new cricket::BasicPortAllocator(
- network_manager_.get(), socket_factory_.get()));
- }
-
- DCHECK(!channel_.get());
- channel_.reset(new cricket::P2PTransportChannel(
- "", 0, NULL, allocator_.get()));
- channel_->SetIceUfrag(
- talk_base::CreateRandomString(cricket::ICE_UFRAG_LENGTH));
- channel_->SetIcePwd(talk_base::CreateRandomString(cricket::ICE_PWD_LENGTH));
- channel_->SignalRequestSignaling.connect(
- this, &P2PTransportImpl::OnRequestSignaling);
- channel_->SignalCandidateReady.connect(
- this, &P2PTransportImpl::OnCandidateReady);
-
- if (protocol == PROTOCOL_UDP) {
- channel_->SignalReadableState.connect(
- this, &P2PTransportImpl::OnReadableState);
- channel_->SignalWritableState.connect(
- this, &P2PTransportImpl::OnWriteableState);
- }
-
- channel_adapter_.reset(new jingle_glue::TransportChannelSocketAdapter(
- channel_.get()));
-
- channel_->Connect();
-
- if (protocol == PROTOCOL_TCP) {
- pseudo_tcp_adapter_.reset(new jingle_glue::PseudoTcpAdapter(
- channel_adapter_.release()));
-
- if (config.tcp_receive_window > 0)
- pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window);
- if (config.tcp_send_window > 0)
- pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window);
- pseudo_tcp_adapter_->SetNoDelay(config.tcp_no_delay);
- if (config.tcp_ack_delay_ms > 0)
- pseudo_tcp_adapter_->SetAckDelay(config.tcp_ack_delay_ms);
-
- int result = pseudo_tcp_adapter_->Connect(
- base::Bind(&P2PTransportImpl::OnTcpConnected, base::Unretained(this)));
- if (result != net::ERR_IO_PENDING)
- OnTcpConnected(result);
- }
-
- return true;
-}
-
-bool P2PTransportImpl::AddRemoteCandidate(const std::string& address) {
- cricket::Candidate candidate;
- if (!jingle_glue::DeserializeP2PCandidate(address, &candidate)) {
- LOG(ERROR) << "Failed to parse candidate " << address;
- return false;
- }
-
- channel_->OnCandidate(candidate);
- return true;
-}
-
-void P2PTransportImpl::OnRequestSignaling(
- cricket::TransportChannelImpl* channel) {
- channel_->OnSignalingReady();
-}
-
-void P2PTransportImpl::OnCandidateReady(
- cricket::TransportChannelImpl* channel,
- const cricket::Candidate& candidate) {
- event_handler_->OnCandidateReady(
- jingle_glue::SerializeP2PCandidate(candidate));
-}
-
-void P2PTransportImpl::OnReadableState(cricket::TransportChannel* channel) {
- state_ = static_cast<State>(state_ | STATE_READABLE);
- event_handler_->OnStateChange(state_);
-}
-
-void P2PTransportImpl::OnWriteableState(cricket::TransportChannel* channel) {
- state_ = static_cast<State>(state_ | STATE_WRITABLE);
- event_handler_->OnStateChange(state_);
-}
-
-net::Socket* P2PTransportImpl::GetChannel() {
- if (pseudo_tcp_adapter_.get()) {
- DCHECK(!channel_adapter_.get());
- return pseudo_tcp_adapter_.get();
- } else {
- DCHECK(channel_adapter_.get());
- return channel_adapter_.get();
- }
-}
-
-void P2PTransportImpl::OnTcpConnected(int result) {
- if (result < 0) {
- event_handler_->OnError(result);
- return;
- }
- state_ = static_cast<State>(STATE_READABLE | STATE_WRITABLE);
- event_handler_->OnStateChange(state_);
-}
-
-} // namespace content
« no previous file with comments | « content/renderer/p2p/p2p_transport_impl.h ('k') | content/renderer/p2p/p2p_transport_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698