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

Side by Side Diff: content/renderer/p2p/p2p_transport_impl.cc

Issue 8824006: Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/p2p/port_allocator.h" 9 #include "content/renderer/p2p/port_allocator.h"
10 #include "jingle/glue/channel_socket_adapter.h" 10 #include "jingle/glue/channel_socket_adapter.h"
11 #include "jingle/glue/pseudotcp_adapter.h" 11 #include "jingle/glue/pseudotcp_adapter.h"
12 #include "jingle/glue/thread_wrapper.h" 12 #include "jingle/glue/thread_wrapper.h"
13 #include "jingle/glue/utils.h" 13 #include "jingle/glue/utils.h"
14 #include "net/base/net_errors.h" 14 #include "net/base/net_errors.h"
15 #include "third_party/libjingle/source/talk/p2p/base/p2ptransportchannel.h" 15 #include "third_party/libjingle/source/talk/p2p/base/p2ptransportchannel.h"
16 #include "third_party/libjingle/source/talk/p2p/client/basicportallocator.h" 16 #include "third_party/libjingle/source/talk/p2p/client/basicportallocator.h"
17 17
18 namespace content { 18 namespace content {
19 19
20 P2PTransportImpl::P2PTransportImpl( 20 P2PTransportImpl::P2PTransportImpl(
21 talk_base::NetworkManager* network_manager, 21 talk_base::NetworkManager* network_manager,
22 talk_base::PacketSocketFactory* socket_factory) 22 talk_base::PacketSocketFactory* socket_factory)
23 : socket_dispatcher_(NULL), 23 : socket_dispatcher_(NULL),
24 event_handler_(NULL), 24 event_handler_(NULL),
25 state_(STATE_NONE), 25 state_(STATE_NONE),
26 network_manager_(network_manager), 26 network_manager_(network_manager),
27 socket_factory_(socket_factory), 27 socket_factory_(socket_factory) {
28 ALLOW_THIS_IN_INITIALIZER_LIST(connect_callback_(
29 this, &P2PTransportImpl::OnTcpConnected)) {
30 } 28 }
31 29
32 P2PTransportImpl::P2PTransportImpl(P2PSocketDispatcher* socket_dispatcher) 30 P2PTransportImpl::P2PTransportImpl(P2PSocketDispatcher* socket_dispatcher)
33 : socket_dispatcher_(socket_dispatcher), 31 : socket_dispatcher_(socket_dispatcher),
34 event_handler_(NULL), 32 event_handler_(NULL),
35 state_(STATE_NONE), 33 state_(STATE_NONE),
36 network_manager_(new IpcNetworkManager(socket_dispatcher)), 34 network_manager_(new IpcNetworkManager(socket_dispatcher)),
37 socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)), 35 socket_factory_(new IpcPacketSocketFactory(socket_dispatcher)) {
38 ALLOW_THIS_IN_INITIALIZER_LIST(connect_callback_(
39 this, &P2PTransportImpl::OnTcpConnected)) {
40 DCHECK(socket_dispatcher); 36 DCHECK(socket_dispatcher);
41 } 37 }
42 38
43 P2PTransportImpl::~P2PTransportImpl() { 39 P2PTransportImpl::~P2PTransportImpl() {
44 } 40 }
45 41
46 bool P2PTransportImpl::Init(WebKit::WebFrame* web_frame, 42 bool P2PTransportImpl::Init(WebKit::WebFrame* web_frame,
47 const std::string& name, 43 const std::string& name,
48 Protocol protocol, 44 Protocol protocol,
49 const Config& config, 45 const Config& config,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 channel_adapter_.release())); 90 channel_adapter_.release()));
95 91
96 if (config.tcp_receive_window > 0) 92 if (config.tcp_receive_window > 0)
97 pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window); 93 pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window);
98 if (config.tcp_send_window > 0) 94 if (config.tcp_send_window > 0)
99 pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window); 95 pseudo_tcp_adapter_->SetReceiveBufferSize(config.tcp_receive_window);
100 pseudo_tcp_adapter_->SetNoDelay(config.tcp_no_delay); 96 pseudo_tcp_adapter_->SetNoDelay(config.tcp_no_delay);
101 if (config.tcp_ack_delay_ms > 0) 97 if (config.tcp_ack_delay_ms > 0)
102 pseudo_tcp_adapter_->SetAckDelay(config.tcp_ack_delay_ms); 98 pseudo_tcp_adapter_->SetAckDelay(config.tcp_ack_delay_ms);
103 99
104 int result = pseudo_tcp_adapter_->Connect(&connect_callback_); 100 int result = pseudo_tcp_adapter_->Connect(
101 base::Bind(&P2PTransportImpl::OnTcpConnected, base::Unretained(this)));
105 if (result != net::ERR_IO_PENDING) 102 if (result != net::ERR_IO_PENDING)
106 OnTcpConnected(result); 103 OnTcpConnected(result);
107 } 104 }
108 105
109 return true; 106 return true;
110 } 107 }
111 108
112 bool P2PTransportImpl::AddRemoteCandidate(const std::string& address) { 109 bool P2PTransportImpl::AddRemoteCandidate(const std::string& address) {
113 cricket::Candidate candidate; 110 cricket::Candidate candidate;
114 if (!jingle_glue::DeserializeP2PCandidate(address, &candidate)) { 111 if (!jingle_glue::DeserializeP2PCandidate(address, &candidate)) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 void P2PTransportImpl::OnTcpConnected(int result) { 151 void P2PTransportImpl::OnTcpConnected(int result) {
155 if (result < 0) { 152 if (result < 0) {
156 event_handler_->OnError(result); 153 event_handler_->OnError(result);
157 return; 154 return;
158 } 155 }
159 state_ = static_cast<State>(STATE_READABLE | STATE_WRITABLE); 156 state_ = static_cast<State>(STATE_READABLE | STATE_WRITABLE);
160 event_handler_->OnStateChange(state_); 157 event_handler_->OnStateChange(state_);
161 } 158 }
162 159
163 } // namespace content 160 } // namespace content
OLDNEW
« 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