OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/p2p/p2p_transport_impl.h" | 5 #include "content/renderer/p2p/p2p_transport_impl.h" |
6 | 6 |
7 #include "content/renderer/p2p/ipc_network_manager.h" | 7 #include "content/renderer/p2p/ipc_network_manager.h" |
8 #include "content/renderer/p2p/ipc_socket_factory.h" | 8 #include "content/renderer/p2p/ipc_socket_factory.h" |
9 #include "content/renderer/render_view.h" | 9 #include "content/renderer/render_view.h" |
10 #include "jingle/glue/channel_socket_adapter.h" | 10 #include "jingle/glue/channel_socket_adapter.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)), | 33 socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)), |
34 ALLOW_THIS_IN_INITIALIZER_LIST(connect_callback_( | 34 ALLOW_THIS_IN_INITIALIZER_LIST(connect_callback_( |
35 this, &P2PTransportImpl::OnTcpConnected)) { | 35 this, &P2PTransportImpl::OnTcpConnected)) { |
36 } | 36 } |
37 | 37 |
38 P2PTransportImpl::~P2PTransportImpl() { | 38 P2PTransportImpl::~P2PTransportImpl() { |
39 } | 39 } |
40 | 40 |
41 bool P2PTransportImpl::Init(const std::string& name, | 41 bool P2PTransportImpl::Init(const std::string& name, |
42 Protocol protocol, | 42 Protocol protocol, |
43 const std::string& config, | 43 const Config& config, |
44 EventHandler* event_handler) { | 44 EventHandler* event_handler) { |
45 DCHECK(event_handler); | 45 DCHECK(event_handler); |
46 | 46 |
47 // Before proceeding, ensure we have libjingle thread wrapper for | 47 // Before proceeding, ensure we have libjingle thread wrapper for |
48 // the current thread. | 48 // the current thread. |
49 jingle_glue::JingleThreadWrapper::EnsureForCurrentThread(); | 49 jingle_glue::JingleThreadWrapper::EnsureForCurrentThread(); |
50 | 50 |
51 name_ = name; | 51 name_ = name; |
52 event_handler_ = event_handler; | 52 event_handler_ = event_handler; |
53 | 53 |
54 // TODO(sergeyu): Implement PortAllocator that can parse |config| | 54 // TODO(sergeyu): Use STUN/Relay settings from |config|. |
55 // and use it here instead of BasicPortAllocator. | |
56 allocator_.reset(new cricket::BasicPortAllocator( | 55 allocator_.reset(new cricket::BasicPortAllocator( |
57 network_manager_.get(), socket_factory_.get())); | 56 network_manager_.get(), socket_factory_.get())); |
58 | 57 |
59 DCHECK(!channel_.get()); | 58 DCHECK(!channel_.get()); |
60 channel_.reset(new cricket::P2PTransportChannel( | 59 channel_.reset(new cricket::P2PTransportChannel( |
61 name, "", NULL, allocator_.get())); | 60 name, "", NULL, allocator_.get())); |
62 channel_->SignalRequestSignaling.connect( | 61 channel_->SignalRequestSignaling.connect( |
63 this, &P2PTransportImpl::OnRequestSignaling); | 62 this, &P2PTransportImpl::OnRequestSignaling); |
64 channel_->SignalCandidateReady.connect( | 63 channel_->SignalCandidateReady.connect( |
65 this, &P2PTransportImpl::OnCandidateReady); | 64 this, &P2PTransportImpl::OnCandidateReady); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 } | 129 } |
131 | 130 |
132 void P2PTransportImpl::OnTcpConnected(int result) { | 131 void P2PTransportImpl::OnTcpConnected(int result) { |
133 if (result < 0) { | 132 if (result < 0) { |
134 event_handler_->OnError(result); | 133 event_handler_->OnError(result); |
135 return; | 134 return; |
136 } | 135 } |
137 state_ = static_cast<State>(STATE_READABLE | STATE_WRITABLE); | 136 state_ = static_cast<State>(STATE_READABLE | STATE_WRITABLE); |
138 event_handler_->OnStateChange(state_); | 137 event_handler_->OnStateChange(state_); |
139 } | 138 } |
OLD | NEW |