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

Side by Side Diff: net/socket_stream/socket_stream.cc

Issue 4291001: Convert implicit scoped_refptr constructor calls to explicit ones, part 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/build
Patch Set: comments Created 10 years, 1 month 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
« no previous file with comments | « net/socket/tcp_client_socket_pool.cc ('k') | net/spdy/spdy_http_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // TODO(ukai): code is similar with http_network_transaction.cc. We should 5 // TODO(ukai): code is similar with http_network_transaction.cc. We should
6 // think about ways to share code, if possible. 6 // think about ways to share code, if possible.
7 7
8 #include "net/socket_stream/socket_stream.h" 8 #include "net/socket_stream/socket_stream.h"
9 9
10 #include <set> 10 #include <set>
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 if (context_) 131 if (context_)
132 ssl_config_service()->GetSSLConfig(&ssl_config_); 132 ssl_config_service()->GetSSLConfig(&ssl_config_);
133 DCHECK_EQ(next_state_, STATE_NONE); 133 DCHECK_EQ(next_state_, STATE_NONE);
134 134
135 AddRef(); // Released in Finish() 135 AddRef(); // Released in Finish()
136 // Open a connection asynchronously, so that delegate won't be called 136 // Open a connection asynchronously, so that delegate won't be called
137 // back before returning Connect(). 137 // back before returning Connect().
138 next_state_ = STATE_RESOLVE_PROXY; 138 next_state_ = STATE_RESOLVE_PROXY;
139 net_log_.BeginEvent( 139 net_log_.BeginEvent(
140 NetLog::TYPE_SOCKET_STREAM_CONNECT, 140 NetLog::TYPE_SOCKET_STREAM_CONNECT,
141 new NetLogStringParameter("url", url_.possibly_invalid_spec())); 141 make_scoped_refptr(
142 new NetLogStringParameter("url", url_.possibly_invalid_spec())));
142 MessageLoop::current()->PostTask( 143 MessageLoop::current()->PostTask(
143 FROM_HERE, 144 FROM_HERE,
144 NewRunnableMethod(this, &SocketStream::DoLoop, OK)); 145 NewRunnableMethod(this, &SocketStream::DoLoop, OK));
145 } 146 }
146 147
147 bool SocketStream::SendData(const char* data, int len) { 148 bool SocketStream::SendData(const char* data, int len) {
148 DCHECK(MessageLoop::current()) << 149 DCHECK(MessageLoop::current()) <<
149 "The current MessageLoop must exist"; 150 "The current MessageLoop must exist";
150 DCHECK_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type()) << 151 DCHECK_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type()) <<
151 "The current MessageLoop must be TYPE_IO"; 152 "The current MessageLoop must be TYPE_IO";
152 if (!socket_.get() || !socket_->IsConnected() || next_state_ == STATE_NONE) 153 if (!socket_.get() || !socket_->IsConnected() || next_state_ == STATE_NONE)
153 return false; 154 return false;
154 if (write_buf_) { 155 if (write_buf_) {
155 int current_amount_send = write_buf_size_ - write_buf_offset_; 156 int current_amount_send = write_buf_size_ - write_buf_offset_;
156 for (PendingDataQueue::const_iterator iter = pending_write_bufs_.begin(); 157 for (PendingDataQueue::const_iterator iter = pending_write_bufs_.begin();
157 iter != pending_write_bufs_.end(); 158 iter != pending_write_bufs_.end();
158 ++iter) 159 ++iter)
159 current_amount_send += (*iter)->size(); 160 current_amount_send += (*iter)->size();
160 161
161 current_amount_send += len; 162 current_amount_send += len;
162 if (current_amount_send > max_pending_send_allowed_) 163 if (current_amount_send > max_pending_send_allowed_)
163 return false; 164 return false;
164 165
165 pending_write_bufs_.push_back(new IOBufferWithSize(len)); 166 pending_write_bufs_.push_back(make_scoped_refptr(
167 new IOBufferWithSize(len)));
166 memcpy(pending_write_bufs_.back()->data(), data, len); 168 memcpy(pending_write_bufs_.back()->data(), data, len);
167 return true; 169 return true;
168 } 170 }
169 DCHECK(!current_write_buf_); 171 DCHECK(!current_write_buf_);
170 write_buf_ = new IOBuffer(len); 172 write_buf_ = new IOBuffer(len);
171 memcpy(write_buf_->data(), data, len); 173 memcpy(write_buf_->data(), data, len);
172 write_buf_size_ = len; 174 write_buf_size_ = len;
173 write_buf_offset_ = 0; 175 write_buf_offset_ = 0;
174 // Send pending data asynchronously, so that delegate won't be called 176 // Send pending data asynchronously, so that delegate won't be called
175 // back before returning SendData(). 177 // back before returning SendData().
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 return; 440 return;
439 default: 441 default:
440 NOTREACHED() << "bad state " << state; 442 NOTREACHED() << "bad state " << state;
441 Finish(result); 443 Finish(result);
442 return; 444 return;
443 } 445 }
444 // If the connection is not established yet and had actual errors, 446 // If the connection is not established yet and had actual errors,
445 // close the connection. 447 // close the connection.
446 if (state != STATE_READ_WRITE && result < ERR_IO_PENDING) { 448 if (state != STATE_READ_WRITE && result < ERR_IO_PENDING) {
447 DCHECK_EQ(next_state_, STATE_CLOSE); 449 DCHECK_EQ(next_state_, STATE_CLOSE);
448 net_log_.EndEvent(NetLog::TYPE_SOCKET_STREAM_CONNECT, 450 net_log_.EndEvent(
449 new NetLogIntegerParameter("net_error", result)); 451 NetLog::TYPE_SOCKET_STREAM_CONNECT,
452 make_scoped_refptr(new NetLogIntegerParameter("net_error", result)));
450 } 453 }
451 } while (result != ERR_IO_PENDING); 454 } while (result != ERR_IO_PENDING);
452 } 455 }
453 456
454 int SocketStream::DoResolveProxy() { 457 int SocketStream::DoResolveProxy() {
455 DCHECK(!pac_request_); 458 DCHECK(!pac_request_);
456 next_state_ = STATE_RESOLVE_PROXY_COMPLETE; 459 next_state_ = STATE_RESOLVE_PROXY_COMPLETE;
457 460
458 if (!proxy_url_.is_valid()) { 461 if (!proxy_url_.is_valid()) {
459 next_state_ = STATE_CLOSE; 462 next_state_ = STATE_CLOSE;
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 1022
1020 SSLConfigService* SocketStream::ssl_config_service() const { 1023 SSLConfigService* SocketStream::ssl_config_service() const {
1021 return context_->ssl_config_service(); 1024 return context_->ssl_config_service();
1022 } 1025 }
1023 1026
1024 ProxyService* SocketStream::proxy_service() const { 1027 ProxyService* SocketStream::proxy_service() const {
1025 return context_->proxy_service(); 1028 return context_->proxy_service();
1026 } 1029 }
1027 1030
1028 } // namespace net 1031 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/tcp_client_socket_pool.cc ('k') | net/spdy/spdy_http_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698