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

Side by Side Diff: net/websockets/websocket_job.cc

Issue 17382012: [SPDY] Refactor SpdyStream's handling of response headers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More updates from rebase Created 7 years, 6 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
« no previous file with comments | « net/websockets/websocket_job.h ('k') | no next file » | 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) 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 "net/websockets/websocket_job.h" 5 #include "net/websockets/websocket_job.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 299
300 void WebSocketJob::OnSentSpdyHeaders() { 300 void WebSocketJob::OnSentSpdyHeaders() {
301 DCHECK_NE(INITIALIZED, state_); 301 DCHECK_NE(INITIALIZED, state_);
302 if (state_ != CONNECTING) 302 if (state_ != CONNECTING)
303 return; 303 return;
304 if (delegate_) 304 if (delegate_)
305 delegate_->OnSentData(socket_.get(), handshake_request_->original_length()); 305 delegate_->OnSentData(socket_.get(), handshake_request_->original_length());
306 handshake_request_.reset(); 306 handshake_request_.reset();
307 } 307 }
308 308
309 int WebSocketJob::OnReceivedSpdyResponseHeader( 309 void WebSocketJob::OnSpdyResponseHeadersUpdated(
310 const SpdyHeaderBlock& headers, int status) { 310 const SpdyHeaderBlock& response_headers) {
311 DCHECK_NE(INITIALIZED, state_); 311 DCHECK_NE(INITIALIZED, state_);
312 if (state_ != CONNECTING) 312 if (state_ != CONNECTING)
313 return status; 313 return;
314 if (status != OK)
315 return status;
316 // TODO(toyoshim): Fallback to non-spdy connection? 314 // TODO(toyoshim): Fallback to non-spdy connection?
317 handshake_response_->ParseResponseHeaderBlock(headers, 315 handshake_response_->ParseResponseHeaderBlock(response_headers,
318 challenge_, 316 challenge_,
319 spdy_protocol_version_); 317 spdy_protocol_version_);
320 318
321 SaveCookiesAndNotifyHeadersComplete(); 319 SaveCookiesAndNotifyHeadersComplete();
322 return OK;
323 } 320 }
324 321
325 void WebSocketJob::OnSentSpdyData(size_t bytes_sent) { 322 void WebSocketJob::OnSentSpdyData(size_t bytes_sent) {
326 DCHECK_NE(INITIALIZED, state_); 323 DCHECK_NE(INITIALIZED, state_);
327 DCHECK_NE(CONNECTING, state_); 324 DCHECK_NE(CONNECTING, state_);
328 if (state_ == CLOSED) 325 if (state_ == CLOSED)
329 return; 326 return;
330 if (!spdy_websocket_stream_.get()) 327 if (!spdy_websocket_stream_.get())
331 return; 328 return;
332 OnSentData(socket_.get(), static_cast<int>(bytes_sent)); 329 OnSentData(socket_.get(), static_cast<int>(bytes_sent));
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 695
699 scoped_refptr<IOBufferWithSize> next_buffer = send_buffer_queue_.front(); 696 scoped_refptr<IOBufferWithSize> next_buffer = send_buffer_queue_.front();
700 send_buffer_queue_.pop_front(); 697 send_buffer_queue_.pop_front();
701 current_send_buffer_ = 698 current_send_buffer_ =
702 new DrainableIOBuffer(next_buffer.get(), next_buffer->size()); 699 new DrainableIOBuffer(next_buffer.get(), next_buffer->size());
703 SendDataInternal(current_send_buffer_->data(), 700 SendDataInternal(current_send_buffer_->data(),
704 current_send_buffer_->BytesRemaining()); 701 current_send_buffer_->BytesRemaining());
705 } 702 }
706 703
707 } // namespace net 704 } // namespace net
OLDNEW
« no previous file with comments | « net/websockets/websocket_job.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698