OLD | NEW |
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/spdy/spdy_proxy_client_socket.h" | 5 #include "net/spdy/spdy_proxy_client_socket.h" |
6 | 6 |
7 #include <algorithm> // min | 7 #include <algorithm> // min |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 user_buffer_len_ = static_cast<size_t>(buf_len); | 210 user_buffer_len_ = static_cast<size_t>(buf_len); |
211 DCHECK(!callback.is_null()); | 211 DCHECK(!callback.is_null()); |
212 read_callback_ = callback; | 212 read_callback_ = callback; |
213 return ERR_IO_PENDING; | 213 return ERR_IO_PENDING; |
214 } | 214 } |
215 user_buffer_ = NULL; | 215 user_buffer_ = NULL; |
216 return result; | 216 return result; |
217 } | 217 } |
218 | 218 |
219 size_t SpdyProxyClientSocket::PopulateUserReadBuffer(char* data, size_t len) { | 219 size_t SpdyProxyClientSocket::PopulateUserReadBuffer(char* data, size_t len) { |
220 size_t bytes_consumed = read_buffer_queue_.Dequeue(data, len); | 220 return read_buffer_queue_.Dequeue(data, len); |
221 | |
222 if (bytes_consumed > 0 && spdy_stream_) | |
223 spdy_stream_->IncreaseRecvWindowSize(bytes_consumed); | |
224 | |
225 return bytes_consumed; | |
226 } | 221 } |
227 | 222 |
228 int SpdyProxyClientSocket::Write(IOBuffer* buf, int buf_len, | 223 int SpdyProxyClientSocket::Write(IOBuffer* buf, int buf_len, |
229 const CompletionCallback& callback) { | 224 const CompletionCallback& callback) { |
230 DCHECK(write_callback_.is_null()); | 225 DCHECK(write_callback_.is_null()); |
231 if (next_state_ != STATE_OPEN) | 226 if (next_state_ != STATE_OPEN) |
232 return ERR_SOCKET_NOT_CONNECTED; | 227 return ERR_SOCKET_NOT_CONNECTED; |
233 | 228 |
234 DCHECK(spdy_stream_); | 229 DCHECK(spdy_stream_); |
235 write_bytes_outstanding_= buf_len; | 230 write_bytes_outstanding_= buf_len; |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 } else if (!read_callback_.is_null()) { | 573 } else if (!read_callback_.is_null()) { |
579 // If we have a read_callback_, the we need to make sure we call it back. | 574 // If we have a read_callback_, the we need to make sure we call it back. |
580 OnDataReceived(scoped_ptr<SpdyBuffer>()); | 575 OnDataReceived(scoped_ptr<SpdyBuffer>()); |
581 } | 576 } |
582 // This may have been deleted by read_callback_, so check first. | 577 // This may have been deleted by read_callback_, so check first. |
583 if (weak_ptr && !write_callback.is_null()) | 578 if (weak_ptr && !write_callback.is_null()) |
584 write_callback.Run(ERR_CONNECTION_CLOSED); | 579 write_callback.Run(ERR_CONNECTION_CLOSED); |
585 } | 580 } |
586 | 581 |
587 } // namespace net | 582 } // namespace net |
OLD | NEW |