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

Side by Side Diff: remoting/protocol/channel_multiplexer.cc

Issue 810133003: replace NULL->nullptr in src/remoting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/protocol/channel_multiplexer.h" 5 #include "remoting/protocol/channel_multiplexer.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 184
185 ChannelMultiplexer::MuxChannel::MuxChannel( 185 ChannelMultiplexer::MuxChannel::MuxChannel(
186 ChannelMultiplexer* multiplexer, 186 ChannelMultiplexer* multiplexer,
187 const std::string& name, 187 const std::string& name,
188 int send_id) 188 int send_id)
189 : multiplexer_(multiplexer), 189 : multiplexer_(multiplexer),
190 name_(name), 190 name_(name),
191 send_id_(send_id), 191 send_id_(send_id),
192 id_sent_(false), 192 id_sent_(false),
193 receive_id_(kChannelIdUnknown), 193 receive_id_(kChannelIdUnknown),
194 socket_(NULL) { 194 socket_(nullptr) {
195 } 195 }
196 196
197 ChannelMultiplexer::MuxChannel::~MuxChannel() { 197 ChannelMultiplexer::MuxChannel::~MuxChannel() {
198 // Socket must be destroyed before the channel. 198 // Socket must be destroyed before the channel.
199 DCHECK(!socket_); 199 DCHECK(!socket_);
200 STLDeleteElements(&pending_packets_); 200 STLDeleteElements(&pending_packets_);
201 } 201 }
202 202
203 scoped_ptr<net::StreamSocket> ChannelMultiplexer::MuxChannel::CreateSocket() { 203 scoped_ptr<net::StreamSocket> ChannelMultiplexer::MuxChannel::CreateSocket() {
204 DCHECK(!socket_); // Can't create more than one socket per channel. 204 DCHECK(!socket_); // Can't create more than one socket per channel.
(...skipping 15 matching lines...) Expand all
220 } 220 }
221 } 221 }
222 222
223 void ChannelMultiplexer::MuxChannel::OnWriteFailed() { 223 void ChannelMultiplexer::MuxChannel::OnWriteFailed() {
224 if (socket_) 224 if (socket_)
225 socket_->OnWriteFailed(); 225 socket_->OnWriteFailed();
226 } 226 }
227 227
228 void ChannelMultiplexer::MuxChannel::OnSocketDestroyed() { 228 void ChannelMultiplexer::MuxChannel::OnSocketDestroyed() {
229 DCHECK(socket_); 229 DCHECK(socket_);
230 socket_ = NULL; 230 socket_ = nullptr;
231 } 231 }
232 232
233 bool ChannelMultiplexer::MuxChannel::DoWrite( 233 bool ChannelMultiplexer::MuxChannel::DoWrite(
234 scoped_ptr<MultiplexPacket> packet, 234 scoped_ptr<MultiplexPacket> packet,
235 const base::Closure& done_task) { 235 const base::Closure& done_task) {
236 packet->set_channel_id(send_id_); 236 packet->set_channel_id(send_id_);
237 if (!id_sent_) { 237 if (!id_sent_) {
238 packet->set_channel_name(name_); 238 packet->set_channel_name(name_);
239 id_sent_ = true; 239 id_sent_ = true;
240 } 240 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 if (!write_callback_.is_null()) { 328 if (!write_callback_.is_null()) {
329 net::CompletionCallback cb; 329 net::CompletionCallback cb;
330 std::swap(cb, write_callback_); 330 std::swap(cb, write_callback_);
331 cb.Run(net::ERR_FAILED); 331 cb.Run(net::ERR_FAILED);
332 } 332 }
333 } 333 }
334 334
335 void ChannelMultiplexer::MuxSocket::OnPacketReceived() { 335 void ChannelMultiplexer::MuxSocket::OnPacketReceived() {
336 if (!read_callback_.is_null()) { 336 if (!read_callback_.is_null()) {
337 int result = channel_->DoRead(read_buffer_.get(), read_buffer_size_); 337 int result = channel_->DoRead(read_buffer_.get(), read_buffer_size_);
338 read_buffer_ = NULL; 338 read_buffer_ = nullptr;
339 DCHECK_GT(result, 0); 339 DCHECK_GT(result, 0);
340 net::CompletionCallback cb; 340 net::CompletionCallback cb;
341 std::swap(cb, read_callback_); 341 std::swap(cb, read_callback_);
342 cb.Run(result); 342 cb.Run(result);
343 } 343 }
344 } 344 }
345 345
346 ChannelMultiplexer::ChannelMultiplexer(StreamChannelFactory* factory, 346 ChannelMultiplexer::ChannelMultiplexer(StreamChannelFactory* factory,
347 const std::string& base_channel_name) 347 const std::string& base_channel_name)
348 : base_channel_factory_(factory), 348 : base_channel_factory_(factory),
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 it != pending_channels_.end(); ++it) { 388 it != pending_channels_.end(); ++it) {
389 if (it->name == name) { 389 if (it->name == name) {
390 pending_channels_.erase(it); 390 pending_channels_.erase(it);
391 return; 391 return;
392 } 392 }
393 } 393 }
394 } 394 }
395 395
396 void ChannelMultiplexer::OnBaseChannelReady( 396 void ChannelMultiplexer::OnBaseChannelReady(
397 scoped_ptr<net::StreamSocket> socket) { 397 scoped_ptr<net::StreamSocket> socket) {
398 base_channel_factory_ = NULL; 398 base_channel_factory_ = nullptr;
399 base_channel_ = socket.Pass(); 399 base_channel_ = socket.Pass();
400 400
401 if (base_channel_.get()) { 401 if (base_channel_.get()) {
402 // Initialize reader and writer. 402 // Initialize reader and writer.
403 reader_.Init(base_channel_.get(), 403 reader_.Init(base_channel_.get(),
404 base::Bind(&ChannelMultiplexer::OnIncomingPacket, 404 base::Bind(&ChannelMultiplexer::OnIncomingPacket,
405 base::Unretained(this))); 405 base::Unretained(this)));
406 writer_.Init(base_channel_.get(), 406 writer_.Init(base_channel_.get(),
407 base::Bind(&ChannelMultiplexer::OnWriteFailed, 407 base::Bind(&ChannelMultiplexer::OnWriteFailed,
408 base::Unretained(this))); 408 base::Unretained(this)));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 void ChannelMultiplexer::OnIncomingPacket(scoped_ptr<MultiplexPacket> packet, 465 void ChannelMultiplexer::OnIncomingPacket(scoped_ptr<MultiplexPacket> packet,
466 const base::Closure& done_task) { 466 const base::Closure& done_task) {
467 DCHECK(packet->has_channel_id()); 467 DCHECK(packet->has_channel_id());
468 if (!packet->has_channel_id()) { 468 if (!packet->has_channel_id()) {
469 LOG(ERROR) << "Received packet without channel_id."; 469 LOG(ERROR) << "Received packet without channel_id.";
470 done_task.Run(); 470 done_task.Run();
471 return; 471 return;
472 } 472 }
473 473
474 int receive_id = packet->channel_id(); 474 int receive_id = packet->channel_id();
475 MuxChannel* channel = NULL; 475 MuxChannel* channel = nullptr;
476 std::map<int, MuxChannel*>::iterator it = 476 std::map<int, MuxChannel*>::iterator it =
477 channels_by_receive_id_.find(receive_id); 477 channels_by_receive_id_.find(receive_id);
478 if (it != channels_by_receive_id_.end()) { 478 if (it != channels_by_receive_id_.end()) {
479 channel = it->second; 479 channel = it->second;
480 } else { 480 } else {
481 // This is a new |channel_id| we haven't seen before. Look it up by name. 481 // This is a new |channel_id| we haven't seen before. Look it up by name.
482 if (!packet->has_channel_name()) { 482 if (!packet->has_channel_name()) {
483 LOG(ERROR) << "Received packet with unknown channel_id and " 483 LOG(ERROR) << "Received packet with unknown channel_id and "
484 "without channel_name."; 484 "without channel_name.";
485 done_task.Run(); 485 done_task.Run();
486 return; 486 return;
487 } 487 }
488 channel = GetOrCreateChannel(packet->channel_name()); 488 channel = GetOrCreateChannel(packet->channel_name());
489 channel->set_receive_id(receive_id); 489 channel->set_receive_id(receive_id);
490 channels_by_receive_id_[receive_id] = channel; 490 channels_by_receive_id_[receive_id] = channel;
491 } 491 }
492 492
493 channel->OnIncomingPacket(packet.Pass(), done_task); 493 channel->OnIncomingPacket(packet.Pass(), done_task);
494 } 494 }
495 495
496 bool ChannelMultiplexer::DoWrite(scoped_ptr<MultiplexPacket> packet, 496 bool ChannelMultiplexer::DoWrite(scoped_ptr<MultiplexPacket> packet,
497 const base::Closure& done_task) { 497 const base::Closure& done_task) {
498 return writer_.Write(SerializeAndFrameMessage(*packet), done_task); 498 return writer_.Write(SerializeAndFrameMessage(*packet), done_task);
499 } 499 }
500 500
501 } // namespace protocol 501 } // namespace protocol
502 } // namespace remoting 502 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/channel_multiplexer.h ('k') | remoting/protocol/channel_multiplexer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698