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

Side by Side Diff: net/spdy/spdy_network_transaction.cc

Issue 3079002: Refactor SpdyHttpStream to implement HttpStream. Required adding a new... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "net/spdy/spdy_network_transaction.h" 5 #include "net/spdy/spdy_network_transaction.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/stats_counters.h" 10 #include "base/stats_counters.h"
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 int SpdyNetworkTransaction::DoGetStream() { 247 int SpdyNetworkTransaction::DoGetStream() {
248 next_state_ = STATE_GET_STREAM_COMPLETE; 248 next_state_ = STATE_GET_STREAM_COMPLETE;
249 249
250 // It is possible that the spdy session was shut down while it was 250 // It is possible that the spdy session was shut down while it was
251 // asynchronously waiting to connect. 251 // asynchronously waiting to connect.
252 if (spdy_->IsClosed()) 252 if (spdy_->IsClosed())
253 return ERR_CONNECTION_CLOSED; 253 return ERR_CONNECTION_CLOSED;
254 254
255 CHECK(!stream_.get()); 255 CHECK(!stream_.get());
256 256
257 stream_.reset(new SpdyHttpStream()); 257 stream_.reset(new SpdyHttpStream(spdy_));
258 return stream_->InitializeStream(spdy_, *request_, 258 return stream_->InitializeStream(request_, net_log_, &io_callback_);
259 net_log_, &io_callback_);
260 } 259 }
261 260
262 int SpdyNetworkTransaction::DoGetStreamComplete(int result) { 261 int SpdyNetworkTransaction::DoGetStreamComplete(int result) {
263 if (result < 0) { 262 if (result < 0) {
264 return result; 263 return result;
265 } 264 }
266 265
267 next_state_ = STATE_SEND_REQUEST; 266 next_state_ = STATE_SEND_REQUEST;
268 return OK; 267 return OK;
269 } 268 }
270 269
271 int SpdyNetworkTransaction::DoSendRequest() { 270 int SpdyNetworkTransaction::DoSendRequest() {
272 next_state_ = STATE_SEND_REQUEST_COMPLETE; 271 next_state_ = STATE_SEND_REQUEST_COMPLETE;
273 272
274 UploadDataStream* upload_data_stream = NULL; 273 UploadDataStream* upload_data_stream = NULL;
275 if (request_->upload_data) { 274 if (request_->upload_data) {
276 int error_code; 275 int error_code;
277 upload_data_stream = UploadDataStream::Create(request_->upload_data, 276 upload_data_stream = UploadDataStream::Create(request_->upload_data,
278 &error_code); 277 &error_code);
279 if (!upload_data_stream) 278 if (!upload_data_stream)
280 return error_code; 279 return error_code;
281 } 280 }
282 stream_->InitializeRequest(base::Time::Now(), upload_data_stream);
283 spdy_ = NULL; 281 spdy_ = NULL;
284 282
285 return stream_->SendRequest(&response_, &io_callback_); 283 return stream_->SendRequest("",
284 upload_data_stream,
285 &response_,
286 &io_callback_);
286 } 287 }
287 288
288 int SpdyNetworkTransaction::DoSendRequestComplete(int result) { 289 int SpdyNetworkTransaction::DoSendRequestComplete(int result) {
289 if (result < 0) { 290 if (result < 0) {
290 stream_.reset(); 291 stream_.reset();
291 return result; 292 return result;
292 } 293 }
293 294
294 next_state_ = STATE_READ_HEADERS; 295 next_state_ = STATE_READ_HEADERS;
295 return OK; 296 return OK;
(...skipping 20 matching lines...) Expand all
316 user_buffer_ = NULL; 317 user_buffer_ = NULL;
317 user_buffer_len_ = 0; 318 user_buffer_len_ = 0;
318 319
319 if (result <= 0) 320 if (result <= 0)
320 stream_.reset(); 321 stream_.reset();
321 322
322 return result; 323 return result;
323 } 324 }
324 325
325 } // namespace net 326 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698