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

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

Issue 7762008: Implement STUN support for P2P Transport API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 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
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
index 02f0a9d518985fe38c2bd640369a948f0bdb11f2..ed37c34826939aeaa15747af6289ddae3acecd17 100644
--- a/content/renderer/p2p/p2p_transport_impl.cc
+++ b/content/renderer/p2p/p2p_transport_impl.cc
@@ -6,6 +6,7 @@
#include "content/renderer/p2p/ipc_network_manager.h"
#include "content/renderer/p2p/ipc_socket_factory.h"
+#include "content/renderer/p2p/port_allocator.h"
#include "content/renderer/render_view.h"
#include "jingle/glue/channel_socket_adapter.h"
#include "jingle/glue/pseudotcp_adapter.h"
@@ -20,7 +21,8 @@ namespace content {
P2PTransportImpl::P2PTransportImpl(
talk_base::NetworkManager* network_manager,
talk_base::PacketSocketFactory* socket_factory)
- : event_handler_(NULL),
+ : socket_dispatcher_(NULL),
+ event_handler_(NULL),
state_(STATE_NONE),
network_manager_(network_manager),
socket_factory_(socket_factory),
@@ -29,12 +31,14 @@ P2PTransportImpl::P2PTransportImpl(
}
P2PTransportImpl::P2PTransportImpl(P2PSocketDispatcher* socket_dispatcher)
- : event_handler_(NULL),
+ : socket_dispatcher_(socket_dispatcher),
+ event_handler_(NULL),
state_(STATE_NONE),
network_manager_(new IpcNetworkManager(socket_dispatcher)),
socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)),
ALLOW_THIS_IN_INITIALIZER_LIST(connect_callback_(
this, &P2PTransportImpl::OnTcpConnected)) {
+ DCHECK(socket_dispatcher);
}
P2PTransportImpl::~P2PTransportImpl() {
@@ -53,9 +57,15 @@ bool P2PTransportImpl::Init(const std::string& name,
name_ = name;
event_handler_ = event_handler;
- // TODO(sergeyu): Use STUN/Relay settings from |config|.
- allocator_.reset(new cricket::BasicPortAllocator(
- network_manager_.get(), socket_factory_.get()));
+ if (socket_dispatcher_) {
+ allocator_.reset(new P2PPortAllocator(
+ socket_dispatcher_, network_manager_.get(),
+ socket_factory_.get(), config));
+ } else {
+ // Use raw basic port allocator is used for tests.
Wez 2011/08/29 18:01:57 This comment needs rewording, although it could ju
Sergey Ulanov 2011/08/29 22:13:39 I think it's useful to have this comment here.
+ allocator_.reset(new cricket::BasicPortAllocator(
+ network_manager_.get(), socket_factory_.get()));
+ }
DCHECK(!channel_.get());
channel_.reset(new cricket::P2PTransportChannel(

Powered by Google App Engine
This is Rietveld 408576698